時指定一個視圖的數據綁定上下文假設我們有我們所定義的視圖模板(基本HTML)的相同屬性的名稱,如Id
,Name
,也 少數的ViewModels並希望使用/綁定來自兩個ViewModels的數據。如何使用多個視圖模型
的問題是如何指定綁定數據上下文所以這將是一個方法來指示從哪個視圖模型使用綁定的屬性?
時指定一個視圖的數據綁定上下文假設我們有我們所定義的視圖模板(基本HTML)的相同屬性的名稱,如Id
,Name
,也 少數的ViewModels並希望使用/綁定來自兩個ViewModels的數據。如何使用多個視圖模型
的問題是如何指定綁定數據上下文所以這將是一個方法來指示從哪個視圖模型使用綁定的屬性?
如http://knockoutjs.com/documentation/observables.html所述,您可以選擇將第二個參數傳遞給ko.applyBindings
以定義要搜索數據綁定屬性的文檔的哪一部分。例如,ko.applyBindings(myViewModel, document.getElementById('someElementId'))
。這限制了激活ID爲someElementId及其後代,如果你想有多個視圖模型和每個頁面的不同區域相關聯,這是有用的元素。
另一種選擇是使用with:
約束力KO 1.3+,這使得基於特定視圖模型屬性DOM介紹。這很好,因爲如果該屬性爲null,則根本不呈現任何內容。史蒂夫在http://jsfiddle.net/StevenSanderson/f5w6u/3/light/
大共享一個活生生的例子瞭解這項功能,用':'是我很感興趣,尤其是對嵌套的ViewModels這是偉大的感謝! – sll 2012-02-26 19:32:38