SAPUI5 / OpenUI5自定义控件的数据绑定

时间:2015-04-01 15:23:49

标签: data-binding sapui5

我正在使用SAPUI5和OpenUI5。我现在开发了一些自定义控件,但从未使用双向数据绑定来控制...我已尝试过

oMyControl.bindProperty("someValue", "oModel>/testBindingValue")

我所看到的是:在调试器中查看模型时,字段aBindings有一个条目:

sPath: "/testBindingValue" 
sInternalType: "int"

和我的Controls属性类型的正确sInternalType(在这种情况下" int")。

但是当我观看数组oModel.oData时它是空的oModel.getProperty("/testBindingValue") 也是返回undefined ...但我的控制肯定有一个值#34; someValue" ...那么,有没有人有想法?

谢谢, 亚历

更新:

在这里,您可以看到我的工作流程:

首先创建模型:

    var oModel = new sap.ui.model.json.JSONModel();
    sap.ui.getCore().setModel(oModel, 'oModel');

然后初始化我的控件:

var oMyControl = new MyControl({
    someValue: "Test Value of the Control"
});
oMyControl.bindProperty("someValue", "oModel>/testValue");

现在,我正在做的事情:

alert(oModel.getProperty("/testValue"));

我会得到"未定义"。

因此,对于普通控制,这是有效的,对于"值","文字","可见"或"启用"等等..

1 个答案:

答案 0 :(得分:1)

我猜你的自定义控件中有一些东西让它无法正常工作。我已经创建了一个我理解你正在做的事情的例子(http://jsbin.com/kiwoza/2/edit?html,console,output),它似乎按照我的期望工作。如果此示例与您尝试完成的内容有所不同,请更新问题,详细说明为什么它不太正确。