【发布时间】:2017-05-23 19:32:17
【问题描述】:
我有一个对象(它是可观察的)并且它有键,每个键都是可观察的。其中一个键是一个包含其他可观察对象的数组。
我希望能够使用 HTML 输入字段修改这些值。我想到要做的是简单地遍历可观察数组,并对输入进行 value/textInput 绑定以修改它们。
但是,在修改文本输入时 - 原始值不会改变!难道我做错了什么?为什么绑定值没有按我预期的方式更新?
我已将我正在做的事情分解为更通用的版本:http://jsfiddle.net/veqr2q6q/
<div class='liveExample'>
<div class="line-container" data-bind="foreach: {data: text, as: 'line'}">
<input type="text" data-bind="textInput: line" /><br />
</div>
<h2>Hello,</h2>
<ul data-bind='foreach: {data: text, as: "line"}'>
<li data-bind="text: line"></li>
</ul>
</div>
// Here's my data model
var ViewModel = function(first, last) {
this.text = ko.observableArray([
ko.observable(first),
ko.observable(last)
])
};
ko.applyBindings(new ViewModel("Planet", "Earth")); // This makes Knockout get to work
【问题讨论】: