我想字符串ko.observableArray绑定到一个模板,但我无法获得模板拿起在数组中的字符串的变化。
如果我绑定的一组对象,而不是一组字符串,我得到更新到JSON,但他们不会引发任何东西,直到我真正改变第一,非数组值。 我宁愿找一个字符串数组,但是,我就能发布数据模型直接返回到服务器,而无需任何后期处理。
我怎样才能获得更新我的琴弦引发的数组,我怎么能确保他们正确地触发的变化,而不必更新非数组值?
如果这是不可能绑定到字符串数组观察到的,我怎么能得到更新观测到阵列内的对象时,事件触发?
在这里看到的例子: http://jsfiddle.net/gcEHC/2/
在这个例子中,当值发生改变,但改变了array1和数组2的数据永远不会显示ARRAY3的数据将反映在模型中。
JS:
var ViewModel = function() {
this.value = ko.observable("hi")
this.array1 = ko.observableArray(["hi", "there"]);
this.array2 = ko.observableArray([ko.observable("hi"), ko.observable("there")]);
this.array3 = ko.observableArray([{ data: "hi" }, { data: "there" }]);
};
ko.applyBindings(new ViewModel());
HTML:
<div class='liveExample'>
<p><input data-bind='value: value' /></p>
<div data-bind="foreach: array1">
<p><input data-bind='value: $data' /></p>
</div>
<div data-bind="foreach: array2">
<p><input data-bind='value: $data' /></p>
</div>
<div data-bind="foreach: array3">
<p><input data-bind='value: data' /></p>
</div>
</div>
<pre data-bind="text: ko.toJSON($data)"></pre>