gpt4 book ai didi

angular - 如何使用angular 2的upgradeAdapter.upgradeNg1Component?

转载 作者:太空狗 更新时间:2023-10-29 17:57:39 25 4
gpt4 key购买 nike

我很确定我在这里遗漏了一些基本的东西。

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

但是,现在我正在尝试将我的混合应用程序迁移到 Angular 2 Final,而当涉及到依赖项时,整个 NgModule 事情与混合应用程序混淆了。

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

仅供引用,换个方向就好了 - 我有一个 typescript 模块可以降级我需要在 ng1(在 ui-router 配置中)中使用的所有顶级 ng2 组件,并且那个 typescript 模块是在升级适配器和包含我要降级的组件的 Ng2 模块之后加载。

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

如果没有这个功能,它会迫使我从最外面的组件开始,然后向内工作。这工作得很好,除了有一些通用组件在各地使用,我宁愿不必先将它们转换为 ng2。

最佳答案

我偶然发现了同样的问题,并通过查看 Angular's source code 找到了解决方案.诀窍是使用 forwardRef()创建 UpgradeAdapter 时:

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()

关于angular - 如何使用angular 2的upgradeAdapter.upgradeNg1Component?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39911877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com