gpt4 book ai didi

Ember.js - 索引路由与 "top-level"资源路由?

转载 作者:行者123 更新时间:2023-12-02 13:51:33 25 4
gpt4 key购买 nike

在 Ember.js 中创建“标准”CRUD 资源时,索引路由和“主”路由有什么区别?

例如,用户资源:

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

哪个路由应包含以下“主”模型 Hook ?

// app/routes/users/index.js OR app/routes/users.js?

export default Ember.Route.extend({
model: function() {
return this.store.find('user');
}
});

换句话说,我应该使用 UsersRoute 还是 UsersIndexRoute?我觉得这很令人困惑。非常感谢任何帮助。

最佳答案

如果需要给定模型来渲染所有嵌套路由,即 indexnew,则应将模型 Hook 放置到 UsersRoute 路由中>、editshow,因为在输入任何这些路由时都会调用它。

如果仅在渲染 / 路由时需要模型,而不是 /:user_id 路由,则应将其加载到 UsersIndexRoute 路由中。

参见JsBin有关何时触发模型 Hook 嵌套路由的示例。

对于您的用例,可以是任何一种方式 - 如果您希望拥有主子类型的用户界面,其中在编辑/显示/添加用户时也呈现用户列表,您应该在 UsersRoute 中加载并渲染用户列表,然后在嵌套路由中渲染其他内容;如果您不想在嵌套路由中呈现用户列表,只需在 UsersIndexRoute 中加载并呈现它们。

关于Ember.js - 索引路由与 "top-level"资源路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28225400/

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