6
Ember.js(和Ember Data)允许我指定模型的属性,如id
,label
和description
。但是我允许我的用户将自己的属性添加到任何模型中,这对我来说显然是不可能知道的。有什么办法可以在运行时动态地向模型添加属性? (更重要的是,将Ember.js识别这些特性的变化,并将它们保存?)Ember.js动态模型属性
Ember.js(和Ember Data)允许我指定模型的属性,如id
,label
和description
。但是我允许我的用户将自己的属性添加到任何模型中,这对我来说显然是不可能知道的。有什么办法可以在运行时动态地向模型添加属性? (更重要的是,将Ember.js识别这些特性的变化,并将它们保存?)Ember.js动态模型属性
灰烬通过Ember.defineProperty
定义对象的属性。签名是Ember.defineProperty(object, propertyName, function)
。例如定义lorem
财产_lorem
的支持,您可以使用
Ember.defineProperty(this, 'lorem',
Ember.computed(function (key, value) {
if (value) {
this.set('_lorem', value);
return value;
} else {
return this.get('_lorem');
}
}
));
你可以调用基于用户输入处理此方法时propertyName
是动态的。 这种事情是最适合扩展元对象系统。建议小心,特别是用户输入!
不错的答案@Darshan! – intuitivepixel
谢谢,我想这正是我需要的。 – GJK