【发布时间】:2016-08-30 12:54:24
【问题描述】:
视图上设置了一个上下文,我想将一个属性绑定到一个标签,但该属性需要绑定到另一个模型而不是上下文。 我试过了:
createLabel: function (){
return new sap.m.Label({
text: {labelname}
}).bindProperty("visible","{/contextExisting}","detailModel");
也试过了:
.bindProperty("visible","{detailModel>contextExisting}");
和:
.bindProperty("visible","{detailModel>/contextExisting}");
和 JSONModel:
this._detailJSONModel.setData({"contextExisting" : false});
模型通过以下方式全局设置:
sap.ui.getCore().setModel(this._detailJSONModel,"detailModel");
模型不是在同一个 .View 中创建的,但我可以通过以下方式在相关视图中访问模型:
sap.ui.getCore().getModel("detailModel");
我不知道这里的绑定有什么问题。上下文绑定正确且有效。
【问题讨论】:
-
可以尝试运行不带函数
bindProperty:return new sap.m.Label({ text: "{labelname}", visible: "{detailModel>/contextExisting}" }) -
您可以尝试的第二件事是在您的视图中调用
this.getModel("detailModel").getData()并检查结果。 -
标签名不是问题。这很好用。属性绑定不起作用。
-
this.getModel("detailModel")出现错误,表明这不是函数。sap.ui.getCore().getModel("detailModel")出现结果。 -
this一定是你的观点
标签: javascript data-binding sapui5 jsonmodel