einzigartige Gegenstände aus einer observableArray von Objekt-Eigenschaften

Ich versuche zu extrahieren einzigartigen Eigenschaften von einer knockout.js observableArray von Objekten, zum füllen eines Dropdown-Menü. Neues knockout, ich bin wirklich mit diesen zu kämpfen!

Ich soll zum Durchlaufen einer Kontakte-Liste, und füllen Sie eine Dropdown-Menü mit einem einzigartigen Wert jeder einzelnen person-Objekt innerhalb der observableArray. Also in meinem code-Beispiel unten möchte ich füllen, mein Dropdown-Menü mit einer Liste von Personen, die 'type' - Familie, Freund etc.

Suche auf Google, fand ich eine ähnliche Funktion, aber keine Ergebnisse zurück, selbst wenn ich die Konsole.die Ergebnisse protokollieren?

//dummy data more rows in actual code...

var people = [
    { name: "Contact 1", address: "1, a street, a town, a city, AB12 3CD", tel: "0123456789", email: "[email protected]", type: "family" },
    { name: "Contact 2", address: "1, a street, a town, a city, AB12 3CD", tel: "0123456789", email: "[email protected]", type: "friend" }
];


function ContactsViewModel(people) {

    var self = this;
    self.contacts = ko.observableArray(people);

    self.uniqueSelect = ko.dependentObservable(function() {
        return( ko.utils.arrayGetDistinctValues(self.contacts().type).sort());
    }, self);
};

ko.applyBindings(new ContactsViewModel(people));

- Und HTML-Vorlage

<p>Show me: <select data-bind="options: ContactsViewModel.uniqueSelect"></select></p>

Jede Hilfe dankbar, so ein noob bin ich verloren! Dank

InformationsquelleAutor Joe | 2012-11-13
Schreibe einen Kommentar