我有一个hybrid Angular 1+2 application,我在跟踪Angular 2 RC5 guidance in relation to the new NgModules时遇到了问题 . 它看起来好像是用于Angular 2 RC4应用程序 - 而不是混合应用程序 .
与纯RC4方案相比 - 没有模块,因为它们仅在RC5中引入 - 我有一个我需要处理的现有Angular 1.5模块 . 我猜我有以下选择 - 还有其他吗?
-
使用Upgrade Adapter升级现有模块 . 没有提到那里升级模块但是它们被添加得很晚,所以可能还有文档需要更新?或者也许我们可以期待很快就能加入对此的支持?
-
将现有模块重写为RC5 NgModule . 有没有关于如何做到这一点的指导?
然后是引导问题 . 我假设混合应用程序需要使用upgrade_adapter进行自举 . 我如何与Update your bootstrap指导协调一致,该指导说我应该使用platformBrowserDynamic() . bootstrapModule()函数?
Update: lekev87提供了一个指向Angular文档中示例的链接,该示例似乎已更新为至少部分地考虑了RC5中NgModule的引入 .
在创建UpgradeAdapter实例时,会传入对NgModule的引用 . 但是没有解释这将做什么 .
var adapter = new UpgradeAdapter(forwardRef(() => MyNg2Module));
我的猜测是传入的NgModule将被用来代替implicitly created one .
- We create an implicit NgModule for you as part of the bootstrap()
- command We automatically hoist your components, pipes, and directives
并且这将使我负责照顾上面列表中的第二点 - 声明所有组件等 .
我在这里走在正确的轨道上吗?
这是否意味着虽然我的应用程序是混合的,但我需要在Angular 1和Angular 2模块中声明所有内容?
有没有办法让我可以访问隐式创建的模块呢?我认为这将允许我从一个拥有我需要的大部分内容的基础开始,我可以以某种方式扩展它?
2 回答
您好,在这里您可以查看UpgradeAdapter class的文档 . 您有这个例子:
我能够使用更新的docs引入NgModule . 我使用以下模板作为新的NgModule .
我将对它的引用传递给UpgradeAdapter的构造函数的参数 .