如何定义嵌套路由+ember不呈现嵌套路由模板
how to define nested routes + ember not rendering template for nested route
我有一个rails 4+emberjs应用程序。我正在尝试在ember中创建嵌套路由。我引用的"嵌套路线"部分来自http://emberjs.com/guides/routing/defining-your-routes/.所有定义后的路线都很好,但"评论"的路线不起作用。我目前的会员路线是:
App.Router.map ->
@resource 'posts', ->
@route 'edit',
path: '/:id/edit'
@route 'show',
path: '/:id'
@resource "comments",
path: '/:post_id/comments'
, ->
@route "new"
我有一个CommentsNewRoute文件为:
App.CommentsNewRoute = Ember.Route.extend
model: (params) ->
post: @store.find 'post', params.post_id
并有一个模板作为包含{{outlet}}的comments.handlebars和包含"Hello World"的comments/new.handebars。将comments.handlebars和new.handebars放置在帖子模板内以及同一级别。不过,没有渲染任何对象。
到helper的链接如下:
{{#link-to 'comments.new' id classNames='pull-right' }}Add New Comment{{/link-to}}
问题是1)CommentsNewRoute中的params是一个空对象,并且不包含post_id。2) 当我单击指向"/#/posts/2/comments/new"的链接时,不会呈现新的评论模板。3) 如何在新的评论页面上显示帖子的对象数据?我做错了什么?
动态分段值仅适用于动态分段所属的路由。
这意味着您应该在App.CommentsRoute
上加载帖子,并在App.CommentsNewRoute
上重用它,请参阅示例
App.CommentsRoute = Ember.Route.extend({
model: function (params) {
return this.store.find('post', params.post_id);
}
});
App.CommentsNewRoute = Ember.Route.extend({
model: function () {
return this.modelFor('comments');
}
});
更多信息
相关文章:
- BatmanJS:深度嵌套路由
- React Router,在params之后嵌套路由
- Angularjs:ui路由嵌套状态下的绑定不起作用
- Emberjs:动态模板嵌套和路由
- DefaultRouter组件中的嵌套路由
- react路由器在为url提供路径时忽略嵌套路由
- 如何正确使用带有react路由器的嵌套路由
- 余烬 无法加载双嵌套路由
- 平均堆栈:如何为嵌套关系创建路由
- 如何从服务器获取嵌套路由 ember 2.3.0 的数据
- 嵌套路由:如何查询 Rails DB 并将值存储在 JavaScript 变量中
- 如何在没有嵌套模板的情况下拥有嵌套路由
- 即使没有嵌套路由,Ember Rails 后退按钮也不会呈现模板
- Ember&RSVP:如何解决路由中的嵌套关系's模型函数
- 如何定义嵌套路由+ember不呈现嵌套路由模板
- 带有嵌套路由的Ember.js模型和setupController挂钩
- Ember js搜索嵌套路由
- 嵌套的带有react路由器的详细信息路由未呈现
- 嵌套路由's模板未在EmberJS应用程序中呈现
- 将子路由嵌套在另一个子路由中