【问题标题】:Route with ID in ember-cliember-cli 中带有 ID 的路由
【发布时间】: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


    【解决方案1】:

    更新:从 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这个词。我现在会更新我的答案。
    • @Sam 我用链接更新了答案。从 Ember-CLI 的 v0.1.5 开始,这似乎是可能的。
    猜你喜欢
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多