更新Ember JS数组未反映在视图中。Ember JS,更新未在视图中反映的数组
控制器
App.MyController = Ember.ArrayController.extend({
results: [],
init: function(){
_this = this
App.MyModel.find({}).then(function(contents) {
obj1 = contents.objectAt(0)
obj1.get('data').hasMany.results.forEach(function(item){
_this.results.push(item)
});
})
//rest of the code
}
})
模板
{{#each results}}
// show items of reults.
{{/each}}
这是一块在其中我是从服务器中获取数据的代码,并且在它的加载,我将其推入结果的数组。 从服务器加载数据需要一些时间,所以模板映射到空结果数组上。理想情况下,结果数组应该更新模板中的东西,但在逻辑上它不应该。
有没有人知道我失踪的地方?或做错了。
在此先感谢。
你刚刚救了我的一天。谢谢你,兄弟。 –
请注意,您的数组需要是'Ember.NativeArray',它也是'MutableArray'。如果你有扩展原生js数组原型的烬,那么原生js数组将具有'.pushObject(thing)'函数。如果你不扩展本地原型,你将需要使用'Ember.A([])'。 [更多关于Ember.A()](https://emberjs.com/api/ember/3.0/functions/@ember%2Farray/A) –