App.Person = Ember.Object.extend({
firstName: "Trek",
});
App.person = App.Person.create({
firstName: undefined
})
console.log(App.person.get('firstName'));
此代码将输出未定义,但我想以某种方式拦截属性的设置,如果它设置为未定义,则保留默认值“Trek” “不变。
ember-1.0.0
最佳答案
您可以使用计算属性:
App.Person = Ember.Object.extend({
_firstName: 'Trek',
firstName: function(key, value) {
if (arguments.length > 1 && typeof value !== 'undefined') {
this.set('_firstName', value);
}
return this.get('_firstName');
}.property('_firstName')
});
App.person = App.Person.create({
firstName: undefined
})
console.log(App.person.get('firstName'));
关于javascript - Ember.js 如何拦截和过滤传递给 Ember.Object.create(params) 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520480/