Mam Ember.Object, który jest używany jako podstawowy słownik klucz/wartość. Nazwy kluczy są dynamiczne i to, co chciałbym móc zrobić, to powtórzenie tych właściwości. Wydaje się, że to powinno być łatwe, ale wyszukiwania w Google i moje wspólne drapanie głowy nie wydaje się wskazywać na oczywistą odpowiedź, której oczekiwałem.Iterowanie przez obiekt Ember
Na poniższym kodzie psuedo:
App.MyObject = Ember.Object.extend({
randomComputedProperty: function() {
return "foobar";
}
}
$object = new MyObject.create(someBigAndUnpredictableNameValueHash);
Moja Idealnym rozwiązaniem byłoby rozwiązanie dla tego kodu pozwoli mi szybko rozpoznać:
- Krytycznie: tablica nazw właściwości że
object
ma - Idealnie: tablica wyliczonych nazw właściwości, które
object
ma - Wstawianie na wierzch: tablica komputerów ed właściwości, które obejmują seterów wzdłuż getter
W każdym razie masz jakieś pomysły?
----- AKTUALIZACJA -----
się być nieco bardziej wyraźne temat mojego precyzyjnego przypadku użycia. Fikcyjna MyObject
jest faktycznie właściwość, że pochodzi z jednego moich modeli:
App.MyModel = DS.Model.extend({
prop1: DS.attr('string'),
prop2: DS.attr('number'),
prop3: DS.attr('my-object')
}
Gdzie transformacji obiekt jest ustawiony tak, aby obsługiwać serializacji/deserializacji:
App.MyObjectTransform = DS.Trnasform.extend({
deserialize: function(serialized) {
return App.MyObject.create(serialized)
},
deserialize: function(deserialized) {
return deserialized;
}
}
W ten sposób, kiedy pracuję z MyModel
w szablonie kierownicy mogę zrobić coś takiego:
{{prop1}}
{{prop2}}
{{#each prop3}}
{{key}} = {{value}}
{{/each}}
Należy wspomnieć, że jest to jednorazowe migawkowe spojrzenie na obiekt, nie będzie obserwować właściwości dodawanych/usuwanych/zmienianych. – Kingpin2k
Odpowiedź zaktualizowana. –