2013-07-11 35 views
6

Ember.js (ve Ember Data), id, label ve description gibi bir modelin özelliklerini belirtmemi sağlar. Ancak, kullanıcılarımın kendi mülklerini herhangi bir modele eklemesine izin veriyorum, ki bu benim bilmem için açıkça imkansız. Çalışma zamanında bir modele dinamik olarak özellikler ekleyebileceğim herhangi bir yol var mı? (Ve daha da önemlisi, Ember.js bu özelliklerdeki değişiklikleri algılar ve kaydeder mi?)Ember.js Dinamik Model Özellikleri

cevap

13

Ember, nesne özelliklerini Ember.defineProperty aracılığıyla tanımlar. İmza Ember.defineProperty(object, propertyName, function). _lorem tarafından desteklenen bir lorem özellik tanımlamak için Örneğin, propertyName dinamik olduğunda, bir kullanıcı giriş işleyicisi merkezli bu yöntemi çağırabilirsiniz

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

kullanabilirsiniz. Bu tür bir şey, Meta nesne sistemini genişletmek için en uygun olanıdır. Özellikle kullanıcı girişi ile dikkat edilmesi önerilir!

+0

nice answer @Darshan! – intuitivepixel

+0

Teşekkürler, bence tam olarak ihtiyacım olan şey bu. – GJK