2012年8月13日 星期一

Knockoutjs 3 ko.applyBindings()

Ko.applyBindings()
  • 第一個參數 : 表示你想用來綁定的ViewModel對象。
  • 第二個參數 : 選用的,要data-bind的HTML DOM元素。
    例如:
    ko.applyBindings(myViewModel ,
    document.getElementById('someElementId'));
     
    它現在是只有作為someElementId 的元素和子元素才能激活KO功能。好處是你可以在同一個頁面聲明多個view model,用來區分區域。
example:


$(document).ready(function(){
var visableContainer = document.getElementById('boxA');
        //指定作用的容器
ko.applyBindings(new MyViewModel() , visableContainer );
});

function MyViewModel(){
this.personName = ko.observable('Bob');
this.personAge = ko.observable(123);    
}

<div id="boxA">
The name is <span data-bind="text: personName"></span></br>
The name is <span data-bind="text: personName"></span></br>
</div>
</br>
<div id="box">
The Age is <span data-bind="text: personAge"></span></br>
The Age is <span data-bind="text: personAge"></span></br>
</div>

結果:
 The name is Bob
 The name is Bob

Note:這裡ko只bind在id為boxA的元素容器,html上的data-bind只是宣告聲明給予ko作bind時能找著目標,實際bind是使用 ko.applyBindings()來實作。

沒有留言:

張貼留言