Wie abrufen der alle Eigenschaften eines Ember.js Modell
Bin ich mit Formularen arbeiten in Ember.js und ich will zum abrufen einer Liste aller Modell-Eigenschaften so, dass ich Schnappschüsse der Status des Formulars zu unterschiedlichen Zeitpunkten. Gibt es eine Möglichkeit, um eine Liste mit allen Eigenschaften für ein Modell???
Zum Beispiel, wenn mein Modell ist:
App.User = DS.Model.extend({
name: DS.attr('string'),
email: DS.attr('string'),
current_password: DS.attr('string'),
password: DS.attr('string'),
password_confirmation: DS.attr('string'),
admin: DS.attr('boolean'),
}
Dann würde ich gern so etwas wie dieses:
> getEmberProps('User')
["name", "email", "current_password", "password", "password_confirmation", "admin"]
- JSON.stringify? Hast du das ausprobiert?
- hmmm, ich würde nicht wissen, wie JSON.stringify, die zu einer Ember-Modell
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einfach toJSON Methode am Modell und bekommen die Schlüssel vom Objekt.
Beachten Sie, dass nicht zurückkehren wird dir die Schlüssel für Beziehungen.
Note that will not return you keys for relations
-> ich weiß nicht, welche ember version, die Sie verwenden; ich benutze Ember 1.11.3 im moment, für diese version Beziehungen Schlüssel zurück als gut.Einfache Weise drucken Sie die Felder und Ihre Werte:
Können Sie auch dieses verwenden:
http://emberjs.com/api/data/classes/DS.Model.html#property_attributes
http://emberjs.com/api/data/classes/DS.Model.html#method_eachAttribute
Gibt es auch ähnliche Eigenschaften, die für Beziehungen zu.
Es gibt keinen einfachen Weg, aber Sie könnten versuchen, eine benutzerdefinierte mixin wie diese:
Können Sie es verwenden, wie diese:
User = DS.Model.extend(Ember.AllKeysMixin,{ name: DS.attr('string'), email: DS.attr('string'), current_password: DS.attr('string'), password: DS.attr('string'), password_confirmation: DS.attr('string'), admin: DS.attr('boolean'),
und dannmodel.getKeys()
woanders zu bekommen, 'name', 'email', etc..2018: verwenden Ember Daten eachAttribute.
So, in einem gegebenen Modell Foo:
Let ' s Modell ist die definition über den Konstruktor:
und eine Funktion aufzurufen, die für die einzelnen Ember Data-Attribute: