gpt4 book ai didi

javascript - 如何定义嵌套路由+ ember不渲染嵌套路由的模板

转载 作者:行者123 更新时间:2023-12-03 11:30:01 24 4
gpt4 key购买 nike

我有一个 Rails 4 + emberjs 应用程序。我正在尝试在 ember 中创建嵌套路由。我指的是 http://emberjs.com/guides/routing/defining-your-routes/ 中的“嵌套路由”部分。所有后期防御路线都工作正常,但“评论”路线不起作用。我当前的 ember 路线如下:

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

并有一个模板作为 comments.handlebars 包含 {{outlet}} 和 comments/new.handlebars 包含 'Hello World'。将 comments.handlebars 和 new.handlebars 放置在帖子模板内并处于同一级别。尽管如此,仍然没有渲染。

帮助程序的链接如下:

{{#link-to 'comments.new' id classNames='pull-right' }}Add New Comment{{/link-to}}

问题在于 1) CommentsNewRoute 中的参数是一个空对象,并且不包含 post_id。 2)当我单击指向“/#/posts/2/comments/new”的链接时,不会呈现新的评论模板。 3)如何在新评论页面上显示帖子的对象数据?我做错了什么?

最佳答案

动态航段值仅适用于动态航段所属的航线。

这意味着您应该在 App.CommentsRou​​te 上加载该帖子,并在 App.CommentsNewRoute 上重复使用它,see the example

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');
}
});

More info

关于javascript - 如何定义嵌套路由+ ember不渲染嵌套路由的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26772554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com