带有UpgradeModule控制器的角度混合应用程序

时间:2018-08-10 12:09:37

标签: javascript angularjs angular typescript hybrid

我的目标是使用UpgradeModule升级大型AngularJS应用程序,以便无需进行准备阶段就可以并行运行AngularJS和Angular 6,这将告诉您遵循AngularJS样式指南。

我想知道当您有很多与此控制器类似的控制器时是否可行:

 angular.module("MyModule").controller($scope, function ($scope) {
    // code here.
 };

我的问题是:仅当您具有AngularJS组件时,UpgradeModule才能工作吗?到目前为止,用我已经写好的控制器还不成功。我可以在这里看到一个有效的示例,它们仅使用AngularJS组件:

UpgradeModule without preparation

如果我需要将AngularJS控制器转换为组件,有人可以建议我吗?

1 个答案:

答案 0 :(得分:1)

阅读文档后,我想您需要具有组件指令才能使用ng-upgrade。 在迁移的准备阶段,它提到了使用组件指令,以便它可以与angular一起使用。

根据文档:

要与Angular兼容,AngularJS组件指令应配置以下属性:

限制:“ E”。组件通常用作元素。

scope:{}-隔离范围。在Angular中,组件始终与周围环境隔离,您也应该在AngularJS中这样做。

bindToController:{}。组件的输入和输出应该绑定到控制器,而不是使用$ scope。

controller和controllerAs。组件具有自己的控制器。 template或templateUrl。组件具有自己的模板。