2
這是我第2天的學習淘汰賽。無法解析綁定。淘汰賽錯誤
嘗試爲按鈕單擊附加「deleteItem」。它給出了以下錯誤。
Error
Uncaught Error: Unable to parse bindings.
Message: ReferenceError: deleteItem is not defined; Bindings value: click: deleteItem
的JavaScript:
$(function() {
var defaultData = [{
id: 1,
item: "Todo 1"
}, {
id: 2,
item: "Todo 2"
}, {
id: 3,
item: "Todo 3"
}];
var viewModel = {
listItem: ko.observableArray(defaultData),
addItem: function() {
// Add new item
var id = this.listItem().length + 1;
this.listItem.push({
id: id,
item: "Todo " + id
});
},
deleteItem: function() {
alert(this);
}
}
ko.applyBindings(viewModel, main);
});
HTML:
<div id="main">
<button data-bind="click: addItem">+ Add Item</button>
<div data-bind="foreach: listItem">
<input type="text" data-bind="value: item" />
<input type="button" data-bind="click: deleteItem" />
<br />
</div>
</div>
謝謝帕特里克!有效。 – srieen 2013-04-05 19:12:18
我建議使用'$ parent.deleteItem',這樣你只能增加一個級別。 '$ root'可能並不總是準確的。 – Tyrsius 2013-04-05 19:12:35
@srieen - 太棒了!請參閱Tyrsius的評論。上下文很重要。另外,不要忘記將答案標記爲已接受的答案。 – PatrickSteele 2013-04-05 19:19:23