日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是 SAP UI5 的 Element binding

發布時間:2023/12/19 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是 SAP UI5 的 Element binding 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

元素綁定(element binding)允許我們將元素綁定到模型數據中的特定對象,這將創建綁定上下文(binding context)并允許控件及其所有子項中的相對綁定。 這在 master-detail 場景中特別有用。

假設我們有以下 JSON 數據:

{"company" : {"name" : "Acme Inc.""street": "23 Franklin St." "city" : "Claremont”"state" : "New Hampshire”"zip” : "03301""revenue": "1833990"} }

element binding 的語法:

<mvc:ViewcontrollerName="sap.ui.sample.App"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"><Input id="companyInput"binding="{/company}"value="{name}"tooltip="The name of the company is '{name}'"/> </mvc:View>

其中這段代碼實際上定義了綁定上下文:

binding="{/company}"

這樣 value 屬性可以直接綁定到 json 模型 company 中的相對路徑字段比如 name 上去。

如果不采用 element binding,我們需要使用絕對路徑作為綁定路徑,即使用符號 / 開頭的絕對路徑語法:

<mvc:ViewcontrollerName="sap.ui.sample.App"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"><Input id="companyInput"value="{/company/name}"tooltip="The name of the company is '{/company/name}'}"/> </mvc:View>

JavaScript 代碼實現 element binding:

var oInput = this.byId("companyInput") oInput.bindElement("/company"); oInput.bindProperty("value", "name");

element binding 的應用場合

當一個 UI 界面的不同字段,其數據源從邏輯意義上說來自同一數據模型的同一層級時,element binding 特別有用:

<mvc:ViewcontrollerName="sap.ui.sample.App"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"><l:VerticalLayout id="vLayout"binding="{/company}"width="100%"><Text text="{name}" /><Text text="{city}" /><Text text="{county}" /></l:VerticalLayout> </mvc:View>

如何創建一個新的 binding context

看個例子,我們有如下的 json 文件:

{companies : [{name : "Acme Inc.",city: "Belmont",state: "NH",county: "Belknap",revenue : 123214125.34 },{name : "Beam Hdg.",city: "Hancock",state: "NH",county: "Belknap"revenue : 3235235235.23 },{name : "Carot Ltd.",city: "Cheshire",state: "NH",county: "Sullivan",revenue : "Not Disclosed" }] }

有這樣一個 input field:

<mvc:ViewcontrollerName="sap.ui.sample.App"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"><Input id="companyInput"value="{name}"/> </mvc:View>

如何設置綁定上下文:

var oInput = this.byId("companyInput"); oInput.bindElement("/companies/0");

XML 視圖已將輸入值綁定到模型中的 name 屬性。 由于未設置模型中此屬性的路徑,因此無法 resolve. 要解析綁定,您可以使用 bindElement 方法從指定的相對路徑創建一個新的上下文。

若要刪除當前綁定上下文,請在輸入控件上調用 unbindElement 方法。 通過這樣做,所有綁定現在再次相對于父上下文解析。

您還可以將 bindElement 方法與聚合綁定結合使用。 讓我們考慮 JSON 數據的以下擴展:

{regions: [{name: "Americas",companies : [{name : "Acme Inc.",zip : "03301",city: "Belmont",county: "Belknap",state: "NH",revenue : 123214125.34, publ: true},{name : "Beam Hdg.",zip : "03451",city: "Hancock",county: "Sullivan",state: "NH",revenue : 3235235235.23,publ: true},{name : "Carot Ltd.",zip : "03251",city: "Cheshire",county: "Sullivan",state: "NH",revenue : "Not Disclosed",publ: false }]},{name: "DACH",companies : [{name : "Taubtrueb",zip : "89234",city: "Ginst",county: "Musenhain",state: "NRW",revenue : 2525, publ: true},{name : "Krawehl",zip : "45362",city: "Schlonz",county: "Humpf",state: "BW",revenue : 2342525, publ: true}]}] }

如上 json 文件所示,regions 里包含了一個 companies 列表。

<mvc:ViewcontrollerName="sap.ui.sample.App"xmlns="sap.m"xmlns:mvc="sap.ui.core.mvc"><List id=”companyList” items="{companies}"><items><StandardListItemtitle="{name}"description="{city}"/></items></List> </mvc:View>

下面這行語句無法直接被解析,因為這是一個相對路徑。

items="{companies}"

我們需要在控制器里使用 element binding:

var oList = this.byId("companyList"); oList.bindElement("/regions/0");

這樣,regions 數組里第一個元素,America,包含的所有 companies 就能夠正確顯示了。

總結

以上是生活随笔為你收集整理的什么是 SAP UI5 的 Element binding的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。