Knockout geschachteltes Ansichtsmodell

Bin ich stecken mit dem, was muss eine einfache Lösung. Ich bin mit knockout.js mit geschachtelten Modelle ansehen, und alles scheint in Ordnung, außer dass meine entfernen-Funktion nicht richtig funktioniert. Es scheint verbindlich zu sein richtig, aber es wird nicht ausgelöst, wenn ich auf "entfernen".

Warum geschachtelte Modelle anzeigen? Lange Geschichte, aber im wesentlichen eine Menge Sachen, die erforderlich ist, um auf einer Seite!

So, hier ist der code:

HTML

<section class="mini-form-container">
    <form data-bind="submit: repeatGuest.addDate">
        <input type="date" data-bind="value: repeatGuest.previousStay"/>
        <button type="submit" class="button-secondary ">Add date</button>
    </form>
    <div data-bind="foreach: repeatGuest.dates, visible: repeatGuest.dates().length > 0">
        <div>
            <input data-bind="value: date" disabled="disabled"  />
            <a data-bind="click: $parent.removeDate">Remove</a>
        </div>
    </div>
</section>

<section>
    <div data-bind="text: ko.toJSON($data)"></div>
</section>

Javascript

function RepeatGuest() {
    ///<summary>Child View Model</summary>
    this.dates = ko.observableArray();
    this.previousStay = ko.observable();
}

RepeatGuest.prototype.addDate = function () {
        var self = this.repeatGuest;
        if (self.previousStay()) {
            self.dates.push({
                date: self.previousStay()
            });
        }
    };

RepeatGuest.prototype.removeDate = function (date) {
    this.dates.remove(date);
}

function ViewModel() {
    var self = this;
    self.repeatGuest = new RepeatGuest();
}
ko.applyBindings(new ViewModel());

Und hier ist mein fiddel: http://jsfiddle.net/6Px4M/2/

Also, warum ist nicht meine entfernen-Funktion gefeuert?

Mögliche Frage: ist die geschachtelte Modelle anzeigen den falschen Weg zu nehmen, knockout, es scheint nicht zu viel info auf dieses?

InformationsquelleAutor der Frage Marvin Rounce | 2013-03-01

Schreibe einen Kommentar