Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何使用角度2';s upgradeAdapter.Upgradeng1组件?_Angular_Ng Upgrade_Angular2 Upgrade - Fatal编程技术网

Angular 如何使用角度2';s upgradeAdapter.Upgradeng1组件?

Angular 如何使用角度2';s upgradeAdapter.Upgradeng1组件?,angular,ng-upgrade,angular2-upgrade,Angular,Ng Upgrade,Angular2 Upgrade,我很确定我错过了一些基本的东西 我在RC5之前就开始使用ng2升级适配器来开始将ng1应用程序移植到ng2。在此之前,当您声明组件直接在组件上使用的指令时,所有连接都正确且有意义 但是,现在我正在尝试将我的混合应用程序迁移到Angular 2 Final,当涉及到依赖项时,整个NgModule都与混合应用程序混淆了 为了创建升级适配器,我需要将要在混合应用程序中使用的Ng2模块传递给它。那很好。但这意味着在我创建升级适配器之前必须完全定义Ng2模块,对吗? 如果这是真的,那么如何使用尚未创建的升

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

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

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

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

仅供参考,换一种方式很好-我有一个typescript模块,它可以降级ng1中需要使用的所有顶级ng2组件(在ui路由器配置中),并且该typescript模块在升级适配器和包含要降级组件的ng2模块之后加载

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


如果没有这个功能,它会迫使我从最外层的组件开始,然后向内工作。这很好,只是有一些通用组件被广泛使用,我不想先把它们转换成ng2。

我偶然发现了同样的问题,并通过研究找到了解决方案。技巧是在创建
升级适配器时使用:

从'@angular/core'导入{NgModule,forwardRef};
从'@angular/upgrade'导入{UpgradeAdapter};
const adapter=新的升级适配器(forwardRef(()=>AppModule));
@NGD模块({
声明:[
适配器。升级1组件(“my-component”);
]
})
类AppModule{
}
//现在调用adapter.bootstrap()

您能详细解释一下“之前”的问题吗?举个例子会有所帮助。对建议的用法非常清楚,而且显然,没有时间悖论。我正试着围绕着心智模块思考。您需要在其构造函数中为升级适配器提供一个ng2模块。但要使用ng1升级的组件,它们必须在适配器之前定义的同一个ng2模块中声明。在我的特定示例中,我的适配器位于单独的es2015模块中,由于这种循环依赖关系,无法创建。(当我尝试导入包含ng1组件升级逻辑的es2015模块中的适配器时,我得到了“未定义”)我也遇到了同样的问题,这真的很奇怪。是的,它可以工作,但您应该导出适配器,以便在外部组件中进行能力升级/降级。