Bindungen können nicht analysiert werden. Knockout-Fehler

Dies ist mein Tag 2, an dem ich Knockout lerne.

Versucht, "deleteItem" für das Klicken auf eine Schaltfläche anzuhängen. Es gibt den folgenden Fehler.

Error

Nicht erfasster Fehler: Bindungen können nicht analysiert werden.
Nachricht: ReferenceError: deleteItem ist nicht definiert; Bindungswert: 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>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage