【发布时间】:2014-12-26 15:59:51
【问题描述】:
我一直在寻找解决此问题的方法大约一个星期,但没有成功。我们有一个 ember 应用程序,它有一个侧边栏,出现在所有路由上,显示用户帖子列表。重要的是帖子在提交时实时更新,并在列表顶部使用最新帖子进行排序,从我读过的内容来看,这需要一个数组控制器。问题是,我找不到任何方法(或者说不明白)来使用未直接引用当前路由的数组控制器和特定模型。我尝试在应用程序路由中使用以下代码呈现侧边栏:
Destination.ApplicationRoute = Ember.Route.extend({
model: function(model) {
var self = this;
return new Em.RSVP.Promise(function (resolve, reject) {
new Em.RSVP.hash({
post : self.store.find('post')
}).then(function (results) {
resolve({
post: results.post
});
});
});
},
renderTemplate: function(controller, model) {
this.render();
this.render('sidebars/postBar', {
outlet: 'postbar',
into: 'application',
controller: 'posts',
model: 'post'
});
}
然后我的阵列控制器有以下代码
Destination.PostsController = Ember.ArrayController.extend({
itemController: 'post',
sortProperties: ['id'],
sortAscending: false
});
但是这根本不起作用,我很难找到任何如何完成此操作的示例。
【问题讨论】:
-
在您的第二次
render通话中model: 'post'的目的是什么?设置 JSBin 之类的会很有帮助。
标签: ember.js ember-data