使用Ember 2.17.0,我似乎无法在其他动态路由下嵌套路由以正确加载。
使用以下文件结构,我希望Show a => ...
路由加载新页面。
stacks
features/instances/
├── edit
│ ├── route.js
│ └── template.hbs
├── index
│ ├── route.js
│ └── template.hbs
├── new
│ ├── route.js
│ └── template.hbs
└── view
├── route.js
├── stacks
│ ├── route.js
│ └── template.hbs
└── template.hbs
端点的网址类似于stacks
其中/instances/view/91467053-ba03-33b9-8950-83f0e64b4688/stacks/123456
是堆栈模型的ID。但是,当我触发上面的链接时,页面没有重新加载,我仍然在123456
路线上。如果我将view
标记放入{{outlet}}
模板,则会在那里呈现view
的内容。但我想在它自己的页面上...
我的router.js
stacks
我在这里做错了什么?我找不到有关ember 2.0 +
的嵌套动态路由的更多信息答案 0 :(得分:0)
我希望我能正确理解你的问题。有两种方法可以做到这一点:
1)而不是view/template.hbs
将该HTML放入view/index/template.hbs
,这样view/stacks/template.hbs
将不会共享view
模板代码。
2)而不是在stacks
路线中嵌套view
路线,而是使用instances
将path: '/view/:instance_id/stacks/:stack_id'
路线拉到InputStream
路线,然后相应地移动路线/模板文件
答案 1 :(得分:0)
Ember中的嵌套路线不能像您习惯的那样工作。
在大多数其他视图框架中,嵌套路由意味着对象之间的关系,在Ember嵌套路由中暗示嵌套视图。
因此,例如,如果您希望获得已呈现的消息列表以及在其旁边的详细信息窗格中打开消息的能力,则可以使用messages.index路由来嵌套messages.show路由。
如果你想渲染一些独立的东西(所以没有嵌套在另一个视图中),只需给它自己的路线。