如何在模块统一打开的情况下定义嵌套路由

时间:2018-07-18 06:05:59

标签: ember.js

我是Ember的新手,可能在某个地方犯了一个简单的错误,但是在ember 3.2.0和3.3中打开模块统一性的简单应用中,我无法让嵌套路由(嵌套的3个级别)工作.0。

(我能够在没有模块统一的情况下在其他应用中使用相同的路由。)

在我的应用中,通过在.bashrc中设置以下环境变量来启用模块统一:

export EMBER_CLI_MODULE_UNIFICATION='true'
export MODULE_UNIFICATION='true'

以下是我的src/router.js的相关内容:

Router.map(function() {
  this.route('peach', function() {
    this.route('pear', function() {
    });
  });
});

这里是src/ui/routes/peach/index/template.hbs

peach
{{outlet}}

这里是src/ui/routes/peach/pear/index/template.hbs

pear

导航到http://localhost:4200/peach/pear会导致浏览器页面空白,并显示以下错误:

jQuery.Deferred exception: this._config.collections[specifier.collection] is undefined _checkDefaultType@http://localhost:4200/assets/vendor.js:69136:11

TypeError: this._config.collections[specifier.collection] is undefined

为什么在启用模块统一时这些路由不起作用,如何使它们起作用?

1 个答案:

答案 0 :(得分:0)

您的路由文件(而不是模板文件)可能有问题。

但是,正如您所注意到的,模块统一仍在进行中,尚无法大量使用。我们都期待着它,但是就目前而言,除非您想生活在不断发展的边缘(这可能会伤害很多人),否则可能值得一试...