首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用角2的upgradeAdapter.upgradeNg1Component?

如何使用角2的upgradeAdapter.upgradeNg1Component?
EN

Stack Overflow用户
提问于 2016-10-07 07:35:08
回答 1查看 2.2K关注 0票数 4

我很确定我错过了一些最基本的东西。

我开始使用ng2升级适配器在RC5之前开始将ng1应用程序移植到ng2。在此之前,当您声明组件直接在组件上使用的指令时,所有的内容都正确地连接在一起,并且是有意义的。

但是,现在我正在尝试将我的混合应用程序迁移到角锥2 Final,当涉及到依赖关系时,整个NgModule都与混合应用程序混淆了。

为了创建升级适配器,我需要将我想要在混合应用程序中使用的Ng2模块传递给它。这很好。但这意味着在我创建升级适配器之前必须完全定义Ng2模块,对吗?如果是这样,那么如何使用尚未创建的升级适配器来升级ng1组件以在ng2模块中使用(在创建适配器之前需要创建该组件)?

FYI,采用另一种方式是可以的--我有一个类型记录模块,它降低了我需要在ng2中使用的所有顶级ng1组件(在ui-路由器配置中)的等级,并且在升级适配器和包含我的组件的Ng2模块之后加载了这个类型记录模块。

那我错过了什么?如何利用升级适配器的upgradeNg1Component功能?

如果没有这个函数,它将迫使我从最外层的组件开始,并向内工作。这很好,只是有一些通用的组件到处使用,我不想先把它们转换成ng2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 20:47:52

我偶然发现了同样的问题,并通过查看角的源代码找到了解决方案。诀窍是在创建forwardRef()时使用UpgradeAdapter

代码语言:javascript
复制
import {NgModule, forwardRef} from '@angular/core';
import {UpgradeAdapter} from '@angular/upgrade';

const adapter = new UpgradeAdapter(forwardRef(() => AppModule));

@NgModule({
    declarations: [
         adapter.upgradeNg1Component('my-component');
    ]
})
class AppModule {
}

// now call adapter.bootstrap()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39911877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档