是否可以将XML片段ID作为其视图ID的前缀?

时间:2015-12-09 17:12:11

标签: sapui5

声明XML视图时,其所有控件ID都以视图本身的ID为前缀。

UI5 Diagnotic tool showing a XML view

为了在控制器内部获得任何控制,必须使用:

this.byId()

...其中默认指向控制器。

我已经知道有

sap.ui.getCore().byId() 

也可用于检索JS视图中定义的控件或使用视图前缀创建的控件。

我声明了一个带有对话框和Text控件的XML片段,该控件将包含由我的控制器定义的文本。我注意到我在片段中定义的ID没有以视图的ID作为前缀。

我的问题是:是否可以将XML片段ID作为其视图ID的前缀(然后我可以使用this.byId而不是sap.ui.getCore)?

1 个答案:

答案 0 :(得分:2)

我检查过,只有在从控制器添加片段时才会发生这种情况。
如果片段是在xml视图中的静态时间中定义的,则内容的ID从视图中派生出它们的名称。
实现这一目标的方法是确保您的片段ID来自您的视图。 代码在你的控制器中会是这样的。

oPage.addContent(new sap.ui.xmlfragment(this.createId("idFragment"),  "fragmentcreation.SampleFragment"));

IdFragment =您的片段的ID
fragmentcreation.SampleFragment =片段的名称(fragmentcreation是文件夹)