Javascript导入和角度导入之间的区别是什么?

时间:2018-01-15 06:52:02

标签: javascript angular

我是Angular世界的新手。在学习它时会有一些让我困惑的事情,为什么我们需要两次导入任何模块:一次通过Javascript 'import'语句然后将它放在'import'数组中?

为什么需要两次导入相同的东西?与其他代码部分相同:需要首先导入'component',然后再次将其放在'declarations'的{​​{1}}数组中。

为什么需要这样做?我没有得到它。

2 个答案:

答案 0 :(得分:2)

我猜你在谈论你的模块文件?

首先,你有这一行

import { MyComponent } from './my-component.component';

这一行允许typescript编译器说

  

好的,我需要该文件中的资源。

在这种情况下,您正在导入一个类。

下一行是

declarations: [MyComponent]

(或importsmodulesproviders等)

在这种情况下,这与 Angular 有关:如您所见,您将这些“导入”放入模块的装饰器中@NgModule。这是内部Angular的东西,但它允许他用你的类做正确的事情。例如,当您将可注入类放入providers时,它会告诉Angular创建thoses类的单个实例。

答案 1 :(得分:0)

关键字“ import”实际上是告诉将模块导入当前模块(模块中包含类)。 但是在@NgModule之后,无论我们使用import关键字导入什么,这些都只是先前导入的模块/类的单个实例。

如果我错了,请纠正我。