(已更新/已编辑的问题) 我正在关注Knockout.js教程并在尝试更新我的可观察数组时遇到问题。
下面是我显示列表的html:
<tbody data-bind="foreach: shoppingCart">
<tr>
<td data-bind="text: name"></td>
<td data-bind="text: price"></td>
<td><button data-bind="click: $root.removeProduct.bind($root)">Remove</button></td>
</tr>
</tbody>
这是viewmodel:
function Product(name, price) {
this.name = ko.observable(name);
this.price = ko.observable(price);
}
function PersonViewModel() {
this.shoppingCart = ko.observableArray([
new Product("Beer", 9.99),
new Product("Peanuts", 1.09),
new Product("COke",1.29)
]);
this.addProduct = function () {
this.shoppingCart.push(new Product("More Beer", "10.99"));
};
};
以下代码是在我的界面上编写内部功能,而不是在 shoppingCart 列表中添加新项目。
答案 0 :(得分:0)
更换
this.shoppingCart.push(new Product("More Beer", "10.99"));
带
this.shoppingCart.push(ko.toJS(new Product("More Beer", "10.99")));
似乎正在解决这个问题。