当前位置: 首页 > Web前端 > HTML5

什么是SAPUI5的Elementbinding

时间:2023-04-05 23:28:30 HTML5

元素绑定(elementbinding)允许我们将一个元素绑定到模型数据中的特定对象,这将创建一个绑定上下文(bindingcontext)并允许控件及其所有子项相对结合。这在主从场景中特别有用。假设我们有以下JSON数据:{"company":{"name":"AcmeInc."“街道”:“富兰克林街23号。”“city”:“Claremont”“state”:“NewHampshire”“zip”:“03301”“revenue”:“1833990”}}元素绑定语法:其中这段代码实际上定义了绑定上下文:binding="{/company}"这样value属性就可以直接绑定json中的相对路径字段模型公司名称等。如果不使用元素绑定,我们需要使用绝对路径作为绑定路径,即以符号/开头的绝对路径语法:实现元素绑定的JavaScript代码:varoInput=this.byId("companyInput")oInput.bindElement("/company");oInput.bindProperty("value","name");元素绑定的应用场合当一个UI界面的不同字段的数据源逻辑上来自同一个数据模型的同一层级时,元素绑定就特别有用:如何创建新的绑定上下文看一个例子,我们有如下的json文件:{公司:[{名称:“AcmeInc.”,城市:“贝尔蒙特”,州:“NH”,县:“贝尔纳普”,收入:123214125.34},{名称:“BeamHdg.”,城市:“汉考克”,州:“NH”,县:“Belknap”收入:3235235235.23},{名称:“CarotLtd.”,城市:“柴郡”,州:“NH”,县:“Sullivan”,收入:“未披露”}]}有这样一个输入字段:如何设置绑定上下文:varoInput=this.byId("companyInput");oInput.bindElement("/companies/0");XML视图已将输入值绑定到模型中的名称属性,但无法解析,因为模型中此属性的路径未设置。要解析绑定,您可以使用bindElement方法从指定的相对路径创建新的上下文。要删除当前绑定上下文,请对输入控件调用unbindElement方法。通过这样做,所有绑定现在都相对于父上下文再次解析。您还可以将bindElement方法与聚合绑定一起使用。让我们考虑JSON数据的以下扩展:{regions:[{name:"Americas",companies:[{name:"AcmeInc.",zip:"03301",city:"Belmont",county:"Belknap",state:"NH",revenue:123214125.34,publ:true},{name:"BeamHdg.",zip:"03451",city:"Hancock",county:"Sullivan",state:"NH",收入:3235235235.23,publ:true},{name:"CarotLtd.",zip:"03251",city:"Cheshire",county:"Sullivan",state:"NH",收入e:"NotDisclosed",publ:false}]},{name:"DACH",companys:[{name:"Taubtrueb",zip:"89234",city:"Ginst",county:"Musenhain",state:“NRW”,收入:2525,publ:true},{名称:“Krawehl”,zip:“45362”,城市:“Schlonz”,县:“Humpf”,州:“BW”,收入:2342525,publ:true}]}]}如上面的json文件所示,regions包含一个公司列表下面的语句不能直接解析,因为是相对路径.items="{companies}"我们需要在控制器中使用元素绑定:varoList=this.byId("companyList");oList.bindElement("/regions/0");这样regions数组的第一个元素America,包含的所有公司都会正确显示。

最新推荐
猜你喜欢