我需要获取从 JSON API 返回的所有对象的总价。
我的想法是创建一个 Controller 并在其上设置一个属性。然后抓取每个对象上的模型循环,并将其添加到对象总价格的预定义属性中。像这样的事情:
export default Ember.Controller.extend({
orderTotal: 0,
getOrderTotal: function(){
var model = this.get('model');
model.forEach(function(c){
var order_total = this.get('orderTotal') * c.total_price;
this.set('orderTotal', order_total)
});
}
});
问题是我无法获取模型。如何访问 Controller 内的模型?
最佳答案
模型可能是异步加载的,因此您必须使用 .then(...) 来等待模型加载。
this.get('model').then(function(data) { ... create sum using `data` });
虽然我会使用计算属性来创建可能会改变的东西的总和:
allPrices: Ember.computed.mapBy('model', 'price'),
totalPrice: Ember.computed.sum('allPrices')
关于javascript - 在 Controller emberjs 中获取模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30628995/