【发布时间】:2019-06-06 08:02:16
【问题描述】:
我们的项目目前仍在 AngularJS (v1.6) + TypeScript 上运行,但我们希望通过实现组件来让应用程序准备好升级到最新的 Angular,类似于它们在 Angular 中的编写方式。目前我们没有使用导入或导出,但想逐步引入。 IE。我们想开始使用:
import * as angular from "angular";
import { MyComponentComponent } from './MyComponent.component';
export default angular
.module('myModule', [])
.component('myComponent', MyComponent);
而不是
angular
.module('myModule', [])
.component('myComponent', MyComponent);
但是,目前这样做会由于范围而导致问题。我们的应用程序现在拥有 global 变量 angular,所有东西都附加到该变量上,而 import/export 会创建注入 angular 的单独实例的闭包,因此两者无法通信。
有没有办法把这两种方法结合起来,让我们可以逐步升级现有的系统?
【问题讨论】:
-
你是通过vsavkin.com/…吗?
-
@IftekharDani 假设我们已经在使用具有导入和导出功能的组件,但我们不是......
-
首先,您没有一个名为 angular 的“全局”变量。您只需有一个可以导入的变量 - 有区别。所以我不太明白,所以你导出角度变量,然后在不同的类中导入它并附加其他模块?
-
@NicolasGehlert 目前我们不导入/导出任何东西,而是使用带有 Typescript 的更简单的 AngularJS 版本,一切都用
angular.module('myModule').component('myComponent', MyComponent);等初始化。但我们想开始使用导入来让我们的代码为升级做好准备。 -
嗯,我认为您的方法没有任何问题。您可以尝试在 stackblitz 中创建一个基本示例吗?
标签: angularjs angular typescript angularjs-components