javascript – 如何在Ember.js中正确加载分页路径?
作者:互联网
我在#/ posts有一条路线显示帖子的第一页,以及#/ posts /:page_id的分页路线,显示您请求的任何页面.我的路由器看起来像这样:
App.Router.map(function(match) {
//...
this.route('posts');
this.resource('postsPage', { path: '/posts/:page_id' });
});
这些路线看起来像这样:
App.PostsRoute = Em.Route.extend({
model: function(params) {
return App.store.find(App.Post, { 'page': params.page_id });
}
});
App.PostsPageRoute = Em.Route.extend({
renderTemplate: function() {
this.render('posts');
},
model: function(params) {
return App.store.find(App.Post, { 'page': params.page_id });
}
});
在我实施它之后,这个工作正常了大约一个月,但它最近停止了工作,除了#/ posts路线.即使我的REST API返回正确的JSON,页面也不会加载.
小提琴here
#/发布路线here
#/ posts / 1 route here(注意即使发送了JSON,它也不会加载内容)
解决方法:
默认情况下,postsPageRoute将设置postsPage控制器.您需要告诉它设置posts控制器.
App.PostsPageRoute = Em.Route.extend({
setupController: function(controller, model) {
this.controllerFor('posts').set('content', model)
},
renderTemplate: function() {
this.render('posts');
},
model: function(params) {
return App.store.find(App.Post, { 'page': params.page_id });
}
});
标签:javascript,ember-js,handlebars-js,ember-router 来源: https://codeday.me/bug/20190629/1328901.html