Sapui5 是否可以在XML片段ID的前面加上它的视图';谁的身份证?

Sapui5 是否可以在XML片段ID的前面加上它的视图';谁的身份证?,sapui5,Sapui5,声明XML视图时,其所有控件ID都以视图本身的ID作为前缀 为了在控制器内获得任何控制,必须使用: this.byId() 。。。默认情况下,这指向控制器 我已经知道有 sap.ui.getCore().byId() 也可用于检索在JS视图中定义的控件或在没有视图前缀的情况下创建的控件 我声明了一个带有对话框和文本控件的XML片段,该控件将包含由控制器定义的文本。我注意到我在片段中定义的ID没有以视图的ID作为前缀 我的问题是:是否可以在XML片段ID前面加上其视图ID(然后我可以使用t

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

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

this.byId()
。。。默认情况下,这指向控制器

我已经知道有

sap.ui.getCore().byId() 
也可用于检索在JS视图中定义的控件或在没有视图前缀的情况下创建的控件

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


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

我检查了,这似乎只有在从控制器添加片段时才会发生
如果片段是在xml视图中的静态时间中定义的,则内容的ID将从视图中派生其名称。
克服这个问题的方法是确保片段ID是从视图派生的。 在您的控制器中,代码应该是这样的

oPage.addContent(new sap.ui.xmlfragment(this.createId("idFragment"),  "fragmentcreation.SampleFragment"));
IdFragment=ID用于片段

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

是的,请查看以下答案: