Data binding SAPUI5表达结合

Data binding SAPUI5表达结合,data-binding,sapui5,Data Binding,Sapui5,是否可以将控件属性绑定到具有动态属性名称的模型,例如存储在另一个模型字段中?我认为我们可以使用SAPUI5来实现这一目的,但它不起作用:跟踪窗口中的绑定被破坏,表达式似乎根本没有被计算 XML视图 <TextArea value="{= ${view>/ask} ? ${StackOverflow>/question} : ${StackOverflow>/comment} }" /> 控制器 var oModel = this.getView().getMo

是否可以将控件属性绑定到具有动态属性名称的模型,例如存储在另一个模型字段中?我认为我们可以使用SAPUI5来实现这一目的,但它不起作用:跟踪窗口中的绑定被破坏,表达式似乎根本没有被计算

XML视图

<TextArea value="{= ${view>/ask} ? ${StackOverflow>/question} : ${StackOverflow>/comment} }" />

控制器

var oModel = this.getView().getModel("StackOverflow");
oModel.setProperty("/question", "");
oModel.setProperty("/comment", "");
//...

var oViewModel = new sap.ui.model.json.JSONModel();
this.getView().setModel(oViewModel, "view);
//...

oViewModel.setProperty("/ask", bAsk);
oModel=this.getView().getModel(“StackOverflow”);
/*
*该模型有两个属性:问题和注释
*我希望TextArea的值根据某些条件绑定到其中一个
*/
oModel.setProperty(“/question”,”);
oModel.setProperty(“/comment”,”);
oModel.setProperty(“/bindTextAreaTo”,
晒太阳?“StackOverflow>/问题”:“StackOverflow>/评论”);

不,目前不可能

但是,对于您想要做的事情,有一个简单的解决方法(请参见下文)。 基本上,创建视图模型并在模型上设置一些布尔值。然后在表达式绑定中使用此标志“动态”定义应使用哪个模型的哪个属性

XMLView

<TextArea value="{= ${view>/ask} ? ${StackOverflow>/question} : ${StackOverflow>/comment} }" />

谢谢你的回答。我还发现了另一个类似方法的答案,这个变通方法只适用于两个值,但如果一个值有100种不同的可能性呢?