Ember.js无法设置ArrayController的内容
Ember.js cannot set content of ArrayController
假设我有一个ArrayController
:
CellarRails.SearchController = Ember.ArrayController.extend({
content: []
});
和SearchRoute
:
CellarRails.SearchRoute = Ember.Route.extend({
model: function(params) {
console.log('MODEL HOOKED!!');
return CellarRails.Track.find(params);
}
});
以及模型中的查找方法:
CellarRails.Track.reopenClass({
find: function(params) {
...
some code
...
return result;
}
});
问题:结果数组返回正常,模型挂钩被触发,但控制器的内容未定义,长度为0,所以我做错了什么?
您应该添加setupController
挂钩并将内容设置为find()
操作返回的模型:
CellarRails.SearchRoute = Ember.Route.extend({
model: function(params) {
console.log('MODEL HOOKED!!');
return CellarRails.Track.find(params);
},
setupController: function(controller, model) {
controller.set('content', model);
}
});
更新,以回应您的最后一条评论
请参阅此处查看工作演示。
希望能有所帮助。
相关文章:
- Ember.js ArrayController usage
- ArrayController排序-每条语句-模型
- 通过访问Ember.ArrayController获取话语中徽章的列表
- 如何在Ember中以编程方式执行ArrayController[index]
- 如何对Ember Model支持的ArrayController进行排序
- 如何从ArrayController访问ItemController
- ArrayController 在 Ember 中的意义何在.js
- 如何使用 Ember-CLI 在 ArrayController 中获取 Ember-Data 值
- 什么是ArrayController.itemController的ObjectController类似物
- 如何在 Ember.js 中从一个 ArrayController 的选定值更新另一个 ArrayController
- EmberJS: ArrayController -> ArrayController -> ObjectC
- 循环遍历 ArrayController 失败,因为它不是数组,即使控制器具有正确的数据模型也是如此
- 当ArrayController重新排序时,Ember itemController将被重新实例化
- Ember.js无法设置ArrayController的内容
- 如何对arraycontroller中的子对象进行排序
- 在这种情况下,当我更新arrayController内容时,余烬将重新渲染DOM中的所有li
- Emberjs从ArrayController填充Ember下拉框
- ArrayController属性返回字符串字面量
- 找出在Ember ArrayController中哪个单独的项目发生了变化
- 在Ember中,我如何在ArrayController的内容被修改后更新视图