在 ember-cli 中使用 ID 的路由

Route with ID in ember-cli

本文关键字:ID 路由 ember-cli      更新时间:2023-09-26

我正在尝试为我的 Ember-Cli 应用程序生成设置页面。我想要的URL是使用单独的路由(例如/settings/:id/overview/settings/:id/password/settings/:id/的。

如何使用 Ember CLI 创建嵌套路由?我已经找到了很多关于 Ember 的例子,但没有找到 CLI 的例子。

更新:从 v0.1.5 开始,Ember-CLI 修复了无法正确生成路由映射的问题。运行以下命令现在应该在 router.js 中生成正确的代码。它还为嵌套路由(而不是资源)添加了path选项。您可以在此处查看更新日志。看起来更改日志注释是该功能的唯一文档,但它们很容易理解。


目前,没有办法使用 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');
    });
});

另外,如果您想创建一个嵌套路由,而不是嵌套资源,我不确定是否有蓝图。我只会生成一个资源,然后手动将其更改为路由。