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

Kum*_*mar 4 ember.js

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

bse*_*ves 7

Ember的计算属性链和观察者依赖于您在相关对象上调用对象 .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');
Run Code Online (Sandbox Code Playgroud)

这是官方文档,有点帮助:Ember.set()