【发布时间】:2014-12-30 12:41:16
【问题描述】:
我正在尝试为我的 Ember-Cli 应用程序生成一个设置页面。我想要的 URL 是 /settings/:id/,带有单独的路由,例如 /settings/:id/overview 和 /settings/:id/password。
如何使用 Ember CLI 创建嵌套路由?我找到了很多 Ember 示例,但 CLI 没有。
【问题讨论】:
标签: javascript ember.js ember-cli
我正在尝试为我的 Ember-Cli 应用程序生成一个设置页面。我想要的 URL 是 /settings/:id/,带有单独的路由,例如 /settings/:id/overview 和 /settings/:id/password。
如何使用 Ember CLI 创建嵌套路由?我找到了很多 Ember 示例,但 CLI 没有。
【问题讨论】:
标签: javascript ember.js ember-cli
更新:从 v0.1.5 开始,Ember-CLI 已解决无法正确生成路由映射的问题。运行下面的命令现在应该在router.js 中生成正确的代码。它还为嵌套路由(而不是资源)添加了 path 选项。你可以看到更新日志here。看起来变更日志说明是目前该功能的唯一文档,但它们很容易理解。
目前,没有办法使用 Ember-CLI 完全生成嵌套路由或资源(据我所知)。您可以让它为您生成文件,但您必须自己编辑router.js。例如,如果我运行以下几行:
ember generate resource settings
ember generate route settings/overview
你会得到以下router.js:
Router.map(function() {
this.resource('settings', { path: 'settings/:settings_id' }, function() { });
this.route('settings/overview');
});
这可能只是蓝图当前工作方式的一个限制。如上所示,继续生成您的路由,然后手动修改router.js 以嵌套路由调用,而不是将它们设为顶级:
Router.map(function() {
this.resource('settings', { path: 'settings/:settings_id' }, function() {
this.route('overview');
});
});
另外,如果您想创建嵌套路由,而不是嵌套资源,我不确定是否有相应的蓝图。我只会生成一个资源,然后手动将其更改为路由。
【讨论】:
generate他们使用ember-cli
generate这个词。我现在会更新我的答案。