我在版本2.2.3中使用了角度,并且总是很好用。 当我升级到版本2.4.4时,出现了一个错误(下图中的错误)。
在数小时内搜索发生了什么后,我发现问题是因为在路由器的属性loadChildren中使用函数() => ExampleModule
更不可能。
要使用此功能,我需要将loadchildren: () => ExampleModule
更改为loadchildren: 'path/example.module#ExampleModule'
,并且角度按预期工作。
现在我想知道函数类型()=>不再支持 使用或发生这种情况是因为我创建了一个错误?
答案 0 :(得分:2)
卡林霍斯,
今天看来是这样的:
更新日志: router:使用aot
中的函数启用loadChildrenhttps://github.com/angular/angular/blob/master/CHANGELOG.md#244-2017-01-19
看起来这与延迟加载和急切加载有关,以修复AOT编译,因为编译器在合适的时间无法解决路径问题。
我认为这个问题可能与功能的回归有关,而不是功能本身 - 它现在期待工厂退货,所以它可能该功能不再有效。
所以,功能仍然允许,但我认为他们必须返回工厂。它看起来总是允许字符串,并且它们可以工作,因为它们不使用提供的工厂:
我认为如果你没有使用AOT / lazy vs eager loading,你可能不会关心这个并且可以使用该字符串。