J'ai Ember.Object qui est utilisé comme dictionnaire de clé/valeur de base. Les noms des clés sont dynamiques et ce que j'aimerais pouvoir faire, c'est parcourir ces propriétés. On dirait que cela devrait être facile, mais google recherches et mon grattage de tête collective ne semble pas pointer vers la réponse évidente que je m'attendais.Itération via un objet Ember
Pour le code psuedo suivant:
App.MyObject = Ember.Object.extend({
randomComputedProperty: function() {
return "foobar";
}
}
$object = new MyObject.create(someBigAndUnpredictableNameValueHash);
Ma solution idéale résoudrait pour ce code me permettrait de discerner rapidement:
- critique: un tableau de noms de propriétés que
object
a - Idéalement: un tableau de noms de propriété calculés que
object
a - Glaçage sur le dessus: un tableau de calcul propriétés ed qui incluent setters le long getter
Avez-vous des idées?
----- ----- MISE A JOUR
Pour être un peu plus explicite au sujet de mon cas d'utilisation précis. Le MyObject
fictif est en fait une propriété qui vient d'un de mes modèles:
App.MyModel = DS.Model.extend({
prop1: DS.attr('string'),
prop2: DS.attr('number'),
prop3: DS.attr('my-object')
}
Lorsqu'un objet Transform est configuré pour gérer sérialisation/désérialisation:
App.MyObjectTransform = DS.Trnasform.extend({
deserialize: function(serialized) {
return App.MyObject.create(serialized)
},
deserialize: function(deserialized) {
return deserialized;
}
}
De cette façon, quand je travaille avec MyModel
dans un modèle de guidon, je peux faire quelque chose comme:
{{prop1}}
{{prop2}}
{{#each prop3}}
{{key}} = {{value}}
{{/each}}
Il convient de mentionner qu'il s'agit d'un instantané de vue unique sur l'objet, il ne sera pas observer les propriétés ajoutées/supprimées/modifiées. – Kingpin2k
Réponse mise à jour. –