创建"标准"在Ember.js中的crud资源,索引路由和" main"之间有什么区别?路线?
例如,用户资源:
// app.router.js
Router.map(function() {
this.resource('users', function() {
this.route('new');
this.route('show', { path: '/:user_id'});
this.route('edit', { path: '/:user_id/edit'});
});
});
哪条路线应包含以下内容" main"模特钩?
// app/routes/users/index.js OR app/routes/users.js?
export default Ember.Route.extend({
model: function() {
return this.store.find('user');
}
});
换句话说,我应该使用UsersRoute还是UsersIndexRoute?我觉得这很混乱。非常感谢任何帮助。
答案 0 :(得分:8)
如果需要给定模型来呈现所有嵌套路由,即UsersRoute
,index
,new
和{{}},则应将模型挂钩放到edit
路由中{1}},因为它会在输入任何这些路线时被调用。
如果仅在呈现show
路由时需要模型,而不是/
路由,那么它应该在/:user_id
路由中加载。
有关何时触发模型挂钩嵌套路由的示例,请参阅JsBin。
对于您的用例,它可以是任何一种方式 - 如果您希望在编辑/显示/添加用户时也使用 master-child 类型的UI来呈现用户列表,应该在UsersIndexRoute
中加载和呈现用户列表,然后只在嵌套路由中呈现其他内容;如果你不想在嵌套路线中渲染用户列表,只需在UsersRoute
中加载和渲染它们。