SAP UI5 确保控件 id 全局唯一的实现方法

Support for Unique IDs

stable ID 用于在运行时识别和修改控制器内的控件。 但是,如果您重用或嵌套这些视图,这些 stable ID 将不再是唯一的。 为了避免 id 冲突,每个 SAP UI5 视图都将自己的 ID 作为前缀添加到其所有子控件中。

看一个例子,下面这个 xml 视图里,Button 控件的 id 为:aButton


      

然后我定义了另一个 xml 视图,把上面这个包含了 button 控件的 xml 视图,嵌套进去:


      
      

运行时,两个被嵌套的 xml 视图 id 为:

  • myContainerView--ButtonView1
  • myContainerView--ButtonView2

获取这些嵌入 xml 视图实例的代码:

var oButtonView1 = oView.byId("ButtonView1");

获取每个 xml 视图实例里的 button 实例的代码:

var oButton = oButtonView1.byId("aButton");

你可能感兴趣的