如何在ember可路由引擎中定义嵌套路由?我无法导航到超过2棵树。喜欢, 例如
All posts
Post
Comments
Comment
我可以访问
localhost:4200 / posts /:postid /
但是当我访问
localhost:4200 / posts /:postid / comments /:commentid
它不呈现评论模板的内容。但这也没有显示任何错误。
答案 0 :(得分:0)
在您的终端机
$ ember g route posts
$ ember g route posts/post
$ ember g route posts/post/comments
$ ember g route posts/post/comments/comment
在您的router.js中,将内容替换为以下内容
Router.map(function(){
this.route('posts', function() {
this.route('post', {path: '/:post_id' }, function() {
this.route('comments', function() {
this.route('comment', {path: '/:comment_id'});
});
});
});
});
这是一个解决方案,但是我更喜欢在每个主要路由中定义一个索引子路由,例如ember g route posts/index
并将其添加到您的router.js中,例如
this.route('posts', function() {
this.route('index', {path: '/'});
this.route('post', {path: '/:post_id'}, function() {
.....
.....
});
});
每次添加索引子路由