设置属性值的Ember问题
Ember issue with setting attribute value
我有一个Ember Route类,定义如下;
export default Ember.Route.extend({
model: function() {
var compObj = {};
compObj.gridPara = this.get('gridPara');
return compObj;
},
gridPara: function() {
var self = this;
var returnObj = {};
returnObj.url = '/myService';
// setting some other returnObj attributes
var summaryObj = {
total: {
label: "Total 1",
value: "100"
},
additional: [{
label: 'Label 2',
value: 'val2'
}, {
label: 'Label 3',
value: 'val3'
}]
};
returnObj.summary = summaryObj;
return returnObj;
},
actions: {
dataLoaded: function(resp) {
// Here I get the service response and want to set (or overwrite) the summaryObj values
this.get('gridParams').summary.total.value = resp.numRows;
}
}
});
我的模板看起来像
{{my-grid params=this.gridPara dataLoaded="dataLoaded"}}
现在我想在returnObj上设置"摘要"我已经验证了我在dataLoaded回调中得到了"resp"。
但我在尝试进行时出现以下错误
this.get('gridParams').summary.total.value = resp.numRows;
未捕获错误:断言失败:必须使用Ember.set()将[对象对象]的value
属性设置为100
。
此外,我如何在summaryObj 中设置/推送"附加"数组
由于错误状态,您必须对值使用set
(我假设您在某个地方定义了gridParams?):
this.set('gridParams.summary.total.value', resp.numRows);
为了推送一个新对象,请尝试以下操作:
var additional = this.get('gridParams.additional');
additional.push({label: ..., value: ....});
this.set('gridParams.additional', additional);
不能100%确定,但请尝试一下:
- 注意物业名称。我想声明"gridPara"并试图获取"gridParams"是一个措辞错误
- 您应该检索这样的值
this.get('gridParams.summary.total.value')
- 你在最后一句中尝试的是一个设置,但就像它是普通的JS一样。在Ember中,你应该这样做
this.set('gridParams.summary.total.value',resp.numRows)
只需添加到@Remi答案中,最佳做法是使用
Ember.set('gridParams.summary.total.value', resp.numRows);
回答您评论中的问题假设您想更新索引i
处的additional
数组。只需执行
var updateItem = additional[i];
Ember.set(updateItem.propertyname,newValue)
//Here propertyname would be the property you want to update and new Value is the new value which you want to set to that property
相关文章:
- ember.js:转换到相同的路由会产生堆栈溢出问题
- Ember组件'jQuery可排序的模板问题
- 在Ember模板中呈现{{content}}时出现问题
- Ember.Select的奇怪问题
- 获取元数据时出现 Ember 数据奇怪的问题
- 如何使 ember 组件从服务器获取数据.将 AJAX 调用放在组件中似乎不是处理此问题的好做法
- Ember.js路由和后退按钮问题
- 设置属性值的Ember问题
- ember.js中打印数组的问题
- 遇到了Ember.js将计算属性交给模板的问题
- 只有当我使用Mixin时,Ember才会导致路由问题.我该如何解决此问题
- Ember.js成员模型泄漏问题
- Ember领英api认证令牌问题
- Twitter Feed与Ember Views的问题
- ember预编译、ember.js和handlers.js的版本兼容问题
- Ember TextField值绑定到控制器问题
- Javascript承诺链接问题(Ember)
- Ember's加载子状态的问题
- Ember JS -在用belongsTo关系加载多个模型到一个路由时遇到问题
- Ember JSON加载问题-加载路由时出错:未定义