Routing OpenUI5中元素id的逻辑

Routing OpenUI5中元素id的逻辑,routing,sapui5,Routing,Sapui5,在我的应用程序中,使用组件来实例化视图:例如,在路由目标中 detail_article: { viewName: "DetailArticle", viewLevel: 6, viewId: "DetailArticle" } 视图的id是\u component0---DetailArticle。为什么不仅仅是DetailArticle

在我的应用程序中,使用组件来实例化视图:例如,在路由目标中

detail_article: {
                    viewName: "DetailArticle",
                    viewLevel: 6,
                    viewId: "DetailArticle"

                }
视图的id是
\u component0---DetailArticle
。为什么不仅仅是
DetailArticle

我已使用新模式用
目标更新了路由,之后我显示视图id已更改(在没有
\uu组件0---
之前)

但我的问题是moore general:调节id设置的逻辑是什么

编辑: 我寻找了旧路线和新路线在首次亮相时的差异:


或者,如何设置
组件0
的id,以便能够准确调用视图?id以所有者id为前缀,以防止id冲突。这是自动完成的,除非您使用JSView。在这里,您必须调用this.createId(“”)以获得前缀。这是一个很好的问题,为什么在使用目标之前没有这样做,但这样做是更好的做法。您是否尝试调用组件的byId(“DetailArticle”)函数?这将通过Id为您提供详细视图,并在内部为您添加前缀。Thankyou@TimGerlach。我已经适应了我的Q;仅更改路由方法id更改添加前缀<代码>sap.ui.getCore().byId(“DetailArticle”)
返回undefinedHave您是否在组件中尝试了
this.byId(“DetailArticle”)
以获取详细视图?从组件外部,您可以使用
sap.ui.getCore().getComponent(“”.byId(“详细文章”)或
sap.ui.getCore().getRootComponent().byId(“详细文章”)
或者,我如何设置
组件0的id,以便准确调用视图?id以所有者id为前缀,以防止id冲突。这是自动完成的,除非使用JSViews。在这里,您必须调用此.createId(“”)在使用目标之前为什么不做这件事是个好问题,但这样做是一个更好的做法。你试过调用byId(“DetailArticle”)吗组件的功能?这将根据其Id为您提供详细视图,并在内部为您添加前缀。谢谢@TimGerlach。我已经升级了我的Q;仅更改路由方法Id更改添加前缀…
sap.ui.getCore().byId(“DetailArticle”);
返回未定义您尝试过
This.byId(“DetailArticle”)吗
在组件中获取详细视图?从组件外部可以使用
sap.ui.getCore().getComponent(“”.byId(“详细文章”)
sap.ui.getCore().getRootComponent().byId(“详细文章”)
//old routing
{
   Id="splitApp-Detail"
   _sOwnerId="__component0"
   mAggregation={
      pages=[   
          Id="DetailArticle",
          _sOwnerId="__component0"
      ]
   }
}


//new routing
{
   Id="splitApp-Detail"
   _sOwnerId="__component0"
   mAggregation={
      pages=[  
          Id="__component0---DetailArticle"
          _sOwnerId="__component0"
      ]
   }
}