3
淘汰賽發出這段代碼與optionsValue和觀察到的陣列
function Order(name, initialMeal) {
var self = this;
self.name = name;
self.meal = ko.observable(initialMeal);
}
function OrdersViewModel() {
var self = this;
self.availableMeals = [
{ menuItem:"Chicken", calories:1000, price:12 },
{ menuItem:"Eggs", calories:900, price:10 },
{ menuItem:"Fries",calories:700, price:15 }
];
self.orders = ko.observableArray([
new Order("Mike", self.availableMeals[0]),
new Order("John", self.availableMeals[0]),
new Order("Larry", self.availableMeals[0])
]);
self.addOrder = function(){
self.orders.push(new Order("", self.availableMeals[0]));
}
}
ko.applyBindings(new OrdersViewModel());
我有以下幾點看法
<tbody data-bind="foreach: orders">
<tr>
<td><input data-bind="value: name" /></td>
<td><select data-bind="options: $root.availableMeals, value: meal, optionsValue: 'price', optionsText: 'menuItem'"></select></td>
<td data-bind="text: meal().price"></td>
</tr>
</tbody>
你也許可以找到它在淘汰賽的例子。問題是最後一個綁定餐()。當optionsValue存在於其上時,價格似乎不起作用。如果我刪除optionsValue它工作得很好。我錯過了什麼嗎? 謝謝。