有什么区别:
myObject.set('some_property', 'myvalue');
和
Ember.set(myObject,'some_property', 'myvalue');
我正在使用第一种语法,但我注意到,很多人使用第二种语法与Ember.set()。那么这里的区别是什么?
答案 0 :(得分:4)
@Igor,
myObject.set()
vs Ember.set(myObject..)
仅在myObject
未知时才有意义。
如果您将myObject作为用户输入,那么最好使用`Ember.set(myObject,' some_property',' myValue'),因为我们将不确定myObject是否为空。例如:
let myObject = {};
myObject.set('some_property', 'myValue');
输出将是:未捕获的TypeError:myObject.set不是函数(...)。但是,如果使用Ember.set
,那么
let myObject = {};
Ember.set(myObject, 'some_property', 'myValue');
将设置属性而不会抛出任何错误。
因此,如果JS对象未知,那么使用Ember.set
的话就是使用.set()
,你可以使用{{1}}。
Stefan Penner在reddit中给出了一个惊人的解释。这是链接:https://www.reddit.com/r/emberjs/comments/3mr5as/question_why_use_embergetthis_prop_instead_of/
希望它有所帮助。