完成某个过程后,我需要将布尔值设置为true才能更新模板。
我可以轻松获取对象,但设置属性似乎更难。我用来获取对象的是
var found = self.get('content').findProperty('id', self.datasetid);
如果我在chrome控制台中这样做,我可以清楚地看到我得到了一个ember对象:
Object {id: 1, active: true}
__ember1364221685101_meta: Meta
active: true
get data_set: function () {
id: 1
set data_set: function (value) {
__proto__: Object
当我这样做时:
found.set('data_set.fully_geocoded', true);
我确实收到标题中提到的错误。我尝试了尽可能多的不同口味,但都有相同的结果。
有人可以对此发光吗?
答案 0 :(得分:2)
Object
不是Ember.Object的实例,而是基础Javascript类Object
,因此它不具有get
和set
方法。
您可以直接使用Ember.get
和Ember.set
来获取相同的功能,并传入对象,如下所示:
Ember.set(found, 'data_set.fully_geocoded', true)
Ember.get(found, 'data_set.fully_geocoded')
计算属性和观察者也可以基于这种方式使用Ember.set
来激活。