2015-10-05 72 views
2

嗨,我使用的淘汰賽可觀的ObservableArray這是observableArray內推對象是像下面,我做它的「價值」屬性爲可觀察到的:淘汰賽觀測量在Obvservable陣列不更新

{ 
    'name': "aka[]", 
    'value': (value && value != "" ? ko.observable(value) : ko.observable("")) 
} 

我用我的HTML裏面的foreach繪製輸入元素在observableArray(akaList以下)發現對象的數量

<p data-bind="foreach: $root.akaList()"> 
    <input title="Also Known As (AKA)" data-bind="attr:{ 'name' : $data.name, 'value': $data.value}" type="text" 
        required="required"/> 
</p> 

當我在輸入元素的東西它不更新內部observableArray對象值類型。我發現foreach解開可觀察數組,這就是爲什麼我無法看到數組中的更新。所以我試圖用$parent.akaList()[$index()].value做它和我的HTML變成這樣:

<p data-bind="foreach: $root.akaList()"> 
    <input title="Also Known As (AKA)" data-bind="attr:{ 'name' : $data.name, 'value': $parent.akaList()[$index()].value}" type="text" 
        required="required"/> 
</p> 

,但它仍然沒有工作,你能告訴我什麼是錯的,我不能使用映射插件,由於我的項目的一些限制?我試圖找到其他方式。我是否用錯誤的語法來寫東西?這裏是低於小提琴以及:

JS Fiddle

回答

1

您可以使用value

<input title="Also Known As (AKA)" data-bind="value: $data.value, attr:{ 'name' : $data.name}" type="text" required="required" /> 

綁定如果可以用淘汰賽3.2.0,然後使用textInput結合。

<input title="Also Known As (AKA)" data-bind="textInput: $data.value, attr:{ 'name' : $data.name}" type="text" required="required" /> 

的jsfiddle:https://jsfiddle.net/29Lvhrx4/2/

+0

多謝,這是現在的工作。 – Seeker