간단한 jsfiddle이 있는데 각 foreach 바인딩의 값을 변경하려고합니다. 행의 값을 변경하려고하면 바인딩은 내가 원하지 않는 다른 모든 행을 업데이트합니다. 이 바인딩에 무슨 문제가 있습니까?Knockout.js foreach 바인딩 값이 현재 개체에 할당되어 있지 않습니다.
<div data-bind="foreach:lines">
<div>
<input data-bind="value: qty, valueUpdate: 'keyup'" />
<label data-bind="text: qty"></label>
</div>
var Product = function (qty) {
self = this;
self.qty = ko.observable(qty);
};
var Cart = function() {
self = this;
self.lines = ko.observableArray([]);
self.lines.push(new Product(1));
self.lines.push(new Product(2));
};
ko.applyBindings(new Cart());
UPDATE :
var c = new Cart();
ko.applyBindings(c);
c.lines.push(new Product(1))
c.lines.push(new Product(2));
http://jsfiddle.net/gY26k/
이 맞습니다. 바보 나. – ashraf