2015-12-09 88 views
0

當聲明XML視圖時,其所有控件ID都以視圖本身的ID作爲前綴。是否有可能使用其視圖ID添加前綴的XML碎片ID?

UI5 Diagnotic tool showing a XML view

爲了得到它需要使用控制器內部的任何控制:

this.byId() 

...其中這個點到系統默認的控制器。

我已經知道有

sap.ui.getCore().byId() 

也可用於檢索的JS視圖定義或創建的,不設窗戶前綴的控制。

我用一個對話框和一個Text控件聲明瞭一個XML片段,它將包含由我的控制器定義的文本。我注意到,我在片段內定義的ID沒有以視圖的ID作爲前綴。

我的問題是:是否有可能使用其視圖的ID作爲前綴的XML碎片ID(然後我可以使用this.byId而不是sap.ui.getCore)?

+0

是的,看看這個答案:https://stackoverflow.com /一個/5846045分之47872515 – boghyon

回答

1

我檢查過,這似乎只在您從控制器添加片段時纔會發生。
如果片段是在xml視圖的靜態時間中定義的,則內容的ID從視圖派生它們的名稱。
解決這個問題的方法是確保您的片段ID是從您的視圖派生的。 代碼在你的控制器中是這樣的。

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

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

相關問題