这.set('firstName','ember')和Ember.set(this,'firstName','ember')这两种条件之间有什么区别吗?
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()
(此处无需翻译)