我正在使用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"));
我会得到"未定义"。
因此,对于普通控制,这是有效的,对于"值","文字","可见"或"启用"等等..
答案 0 :(得分:1)
我猜你的自定义控件中有一些东西让它无法正常工作。我已经创建了一个我理解你正在做的事情的例子(http://jsbin.com/kiwoza/2/edit?html,console,output),它似乎按照我的期望工作。如果此示例与您尝试完成的内容有所不同,请更新问题,详细说明为什么它不太正确。