gpt4 book ai didi

javascript - Ember.js 如何拦截和过滤传递给 Ember.Object.create(params) 的参数

转载 作者:行者123 更新时间:2023-12-02 18:13:18 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com