2
我有麻煩得到綁定工作的嵌套數組。當頁面第一次加載時,這些值顯示正確,但是當我進行編輯時,綁定對象不會更新。Knockout雙向綁定嵌套數組
我在這裏創建了一個jsfiddle:http://jsfiddle.net/coverbeck/qCzT6/1/。
我的HTML是這樣的:
<body>
<ul>
<!-- ko foreach: {data: cities, as: 'city'} -->
<li>
<input data-bind="value: city.name"/>
<span data-bind="text: city.name"></span>
</li>
<ul>
<!-- ko foreach: {data: neighborhoods, as: 'neighborhood'} -->
<li>
<input data-bind="value: neighborhood"/>
<span data-bind="text: neighborhood"></span>
</li>
<!-- /ko -->
</ul>
<!-- /ko -->
</ul>
</body>
我的JavaScript是:
var sf = {name: ko.observable('San Francisco'),
neighborhoods: ko.observableArray([
ko.observable('Haight'),
ko.observable('Bayview'),
ko.observable('Marina')
])
};
var ny = {name: ko.observable('New York'),
neighborhoods: ko.observableArray([
ko.observable('Hells Kitchen'),
ko.observable('Times Square')
])
};
var cities = ko.observableArray([sf, ny]);
var viewModel = { cities: cities };
ko.applyBindings(viewModel);
當我修改的城市名稱,相應的span元素的更新。當我修改鄰域名稱時,相應的span元素不會更新。
我問了一個類似的問題已經here,答案奏效。我似乎再次遇到同樣的問題,除了這次是一個嵌套數組,我看到了問題。我嘗試了對嵌套數組的解決方案,但在這種情況下似乎沒有什麼區別。
感謝,
查爾斯
人,你的代碼格式是殘酷的。你甚至可以閱讀嗎? – Tyrsius 2013-03-19 15:50:13
「Atrocious」看起來有點苛刻,但我更新了格式。 – 2013-03-19 16:49:33