如果我想将JSON绑定到视图:
XML:
<m:Input id="name" value="{/name}" enabled="false"/>
控制器:
var data = {name : "name"};
var oModel = new JSONModel(data);
this.getView().setModel(oModel);
以及如何使用特定的模型名称将JSON绑定到视图?
控制器:
var data = {name : "name"};
var oModel = new JSONModel(data, "data");
this.getView().setModel(oModel);
如何在xml中编码?我试试这个,但没有绑定。
<m:Input id="name" value="{data>/name}" enabled="false"/>
因为我想用2个源json数据绑定,如果我使用spesified模型名称设置,只有一个模型绑定到视图。
谢谢, 波比
答案 0 :(得分:8)
可以将n个模型绑定到视图中。您可以指定与视图(或任何控件)绑定的模型的别名。您在创建模型时不指定别名,但在将模型设置为控件时(如视图)。
所以,这是错误的:
var data = {name : "name"};
var oModel = new JSONModel(data, "data"); // Alias is not specified here
this.getView().setModel(oModel);
正确的代码是:
var data = {name : "name"};
var oModel = new JSONModel(data); // Only set data here.
this.getView().setModel(oModel, "data"); // set the alias here
类似地,
var data = {employeeName: "Rahul"};
var oModel = new JSONModel(data); // Only set data here.
this.getView().setModel(oModel, "EmployeeData"); // set the alias here
在视图中,
<m:Input id="name" value="{data>/name}" enabled="false" description="{EmployeeData>/employeeName}"/>
<m:Input id="name" value="{EmployeeData>/employeeName}" enabled="false"/>