2013-07-11 9 views
6

Ember.js (i Ember Data) pozwala mi określić właściwości modelu, takie jak id, label i description. Ale pozwalam moim użytkownikom dodawać własne właściwości do dowolnego modelu, o czym oczywiście nie mogę wiedzieć. Czy istnieje sposób dynamicznego dodawania właściwości do modelu w środowisku wykonawczym? (A co ważniejsze, czy Ember.js rozpozna zmiany w tych właściwościach i je zapisze?)Właściwości modelu dynamicznego Ember.js

Odpowiedz

13

Ember definiuje właściwości obiektu za pomocą Ember.defineProperty. Podpis to Ember.defineProperty(object, propertyName, function). Na przykład, aby zdefiniować lorem własność poparte _lorem można użyć

Ember.defineProperty(this, 'lorem', 
    Ember.computed(function (key, value) { 
    if (value) { 
     this.set('_lorem', value); 
     return value; 
    } else { 
     return this.get('_lorem'); 
    } 
    } 
)); 

Można wywołać tę metodę opartą na przewodnika wejściowego użytkownika, gdy propertyName jest dynamiczna. Tego rodzaju rzeczy najlepiej nadają się do rozszerzenia systemu obiektowego Meta. Zaleca się zachowanie ostrożności, zwłaszcza przy wprowadzaniu danych przez użytkownika!

+0

ładna odpowiedź @Darshan! – intuitivepixel

+0

Dzięki, myślę, że to jest dokładnie to, czego potrzebuję. – GJK

Powiązane problemy