2012-05-08 57 views
0

我無法理解我錯在哪裏。請你幫助我嗎? 我創建了一個名爲'bTest1'的自定義綁定,兩個可觀察數據(1個數組和1個字符串)。 運用這一對字符串綁定工作正常,但不是由KO陣列上:的foreach在Knockout foreach中創建自定義綁定

這裏是我的jsfiddle鏈接:Here

和我的代碼

<!-- ko foreach:test --> 
<label><input type="text" data-bind="bTest1:$root.test1,value:$data,valueUpdate:'afterkeydown'" />Test1</label><br/> 
<!-- /ko --> 
<br/> 
<label><input type="text" data-bind="bTest1:test1,value:test1,valueUpdate:'afterkeydown'" />Test2</label> 

和我的JS代碼(如儘可能簡單):

ko.bindingHandlers.bTest1 = { 
     init: function() { 
      console.log('init Test1'); 
    }, 
    update: function() { 
      console.log('update Test1'); 
    } 
}; 


var modelView = function(){ 
    var self = this; 
    self.test = ko.observableArray(['foreach_test','foreach_test1']); 
    self.test1 = ko.observable('test_alone'); 
} 

ko.applyBindings(new modelView()); 

我感謝你幫助我。 致以問候 S.

+0

jsfiddle適合我 – freakish

回答

1

早上好。

ObservableArray只跟蹤數組本身的更改(添加/刪除項目),而不更改其包含的項目。所以,如果你想得到相同的結果,數組中的每一項都需要標記爲ko.observable。

希望這會有所幫助!

相關問題