Ember.js (和Ember Data)允许我指定模型的属性,例如id、label和description。但我允许我的用户将他们自己的属性添加到任何模型中,这对我来说显然是不可能的。有没有什么方法可以在运行时动态添加属性到模型中?(更重要的是,Ember.js会识别这些属性上的更改并保存它们吗?)
发布于 2013-07-11 21:47:44
Ember通过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是动态的时,可以在用户输入处理程序中调用此方法。这类东西最适合于扩展元对象系统。建议谨慎,尤其是在用户输入的情况下!
https://stackoverflow.com/questions/17594210
复制相似问题