this.set和Ember.set有什么区别

时间:2017-04-08 13:28:36

标签: ember.js

以下两个条件this.set('firstName','ember')和Ember.set(this,'firstName','ember')之间是否有任何区别

1 个答案:

答案 0 :(得分:6)

Ember的计算属性链和观察者依赖于您在相关对象上调用 object .set()。如果你忘了,你会经常看到这种效果的警告。

但是,您可能无法知道您所处理的对象是Ember.Object还是普通的javascript对象。那个Ember.set()派上用场的地方 - 它适用于两种类型的对象。

const setFoo(target, value) {
    Ember.set(target, 'foo', value);
}

const a = {foo:null};
const b = Ember.Object.create({foo:null});

// both calls are valid because we use Ember.set()
setFoo(a, 'johnny');
setFoo(b, 'bravo');

这里的官方文档非常有帮助:Ember.set()