以下两个条件this.set('firstName','ember')和Ember.set(this,'firstName','ember')之间是否有任何区别
答案 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()