0

参考“Payroll Control Center Mockup”帖子,如何使用 JSON Notation 将元素绑定到 JS 视图而不是 XML 中的 UI 控件?

这是 XML 视图的快照

<IconTabFilter  
    binding="{/cities/0}"  
    text="{name} ({id})"  
    icon="sap-icon://group"  
    design="Horizontal">  
</IconTabFilter>  

我试图在 JS 视图中做同样的事情,但无法让它工作

new sap.m.IconTabFilter({  
    bindElement:'{/cities/1}',  
    icon: "sap-icon://notes",  
    text:"{/name}",  
    //text:  
    count: "12",  
    color:sap.ui.core.IconColor.Critical,  
    content: new sap.m.Text({  
        text: "Notes go here ..."  
    })  
}),

我在 index.html 中指定了 ComplexBinding,还尝试了各种选项,例如

association:'{/cities/1}',

aBindings:'{/cities/1}',
4

1 回答 1

3

虽然您可以将其用作 XML 属性,但当您在 ​​JavaScript 中定义控件时binding,您不能以相同的方式使用。是方法而不是属性。所以这是一种方法:bindElementbindElement

var aIconTabFilters = [0,1].map(function(n) {
    var oITF = new sap.m.IconTabFilter({
        text: "{name} ({id})",
        icon: "sap-icon://group",
        design: "Horizontal"
    });
    oITF.bindElement("/cities/"+n);
    return oITF;
});

请注意,bindElement它被显式调用。

在 repo 的不同分支中使用 JavaScript 视图重新编写了模型,因此您可以在上下文中查看它并将其与原始 XML 视图版本进行比较。

于 2014-02-19T16:51:08.663 回答