无法解析绑定.淘汰赛错误

sri*_*een 2 knockout.js

这是我的第2天学习淘汰赛.

尝试附加"deleteItem"按钮单击.它给出了以下错误.

错误

未捕获错误:无法解析绑定.
消息:ReferenceError:未定义deleteItem; 绑定值:单击: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);
});
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

Pat*_*ele 8

该功能deleteItem在您的视图模型上.当你在里面的绑定foreach,绑定操作的情况下是个体itemlistItem阵列.您需要绑定以$root.deleteItem引用根视图模型.