我正在尝试为我的Ember-Cli应用生成设置页面。我想要的网址是/settings/:id/
,其中包含/settings/:id/overview
和/settings/:id/password
等不同的路由。
如何使用Ember CLI创建嵌套路由?我找到了很多关于Ember的例子,但没有找到CLI。
答案 0 :(得分:4)
更新:自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');
});
这可能只是Blueprints目前工作方式的限制。如上所示,继续生成您的路线,然后手动修改router.js
以嵌套路线呼叫,而不是使它们成为顶级路线:
Router.map(function() {
this.resource('settings', { path: 'settings/:settings_id' }, function() {
this.route('overview');
});
});
此外,如果您想创建嵌套路由,而不是嵌套资源,我不确定是否有蓝图。我只会生成一个资源,然后手动将其更改为路径。