我是Knockout的新手。我正在尝试使用Knockout开发购物车功能。
我的问题是,当我想在我的购物车中放置一个计数器时,计数器将应用于所有购物车内容。
var FoodVM = function() {
self.ID = ko.observable();
self.Name = ko.observable();
self.Price = ko.observable();
self.Clicks = ko.observable(0);
self.clickCounterAdd = function() {
self.Clicks(self.Clicks() + 1);
};
};
var FoodsListVM = function() {
this.FoodsList = ko.observableArray([new FoodVM()]);
};
$(document).ready(function() {
var model = new FoodsListVM();
ko.applyBindings(model);
var data = [{
ID: 1,
Name: "Test 1",
Price: 25000
},
{
ID: 2,
Name: "Test 2",
Price: 30000
},
{
ID: 3,
Name: "Test 3",
Price: 35000
}
];
model.FoodsList(data);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Price</th>
<th>Add</th>
<th>Count</th>
</tr>
<tbody data-bind="foreach: FoodsList">
<tr>
<td data-bind="text: ID"></td>
<td data-bind="text: Name"></td>
<td data-bind="text: Price"></td>
<td>
<button data-bind="click: clickCounterAdd" style="width: 73px;">Add</button>
</td>
<td>
<input type="text" data-bind="value: Clicks" style="width: 20px;">
</td>
</tr>
</table>
Z zxswい但也。
你能告诉我我的错误在哪里吗?