【问题标题】:Angular 2 ng module importsAngular 2 ng 模块导入
【发布时间】:2016-10-09 18:44:11
【问题描述】:

当我们在顶部导入文件时,ngmodule装饰器的导入元数据有什么意义。两个输入之间的差异。

【问题讨论】:

    标签: angular angular-ngmodel


    【解决方案1】:

    这些导入是完全不同的概念。

    文件顶部的导入是 TypeScript 导入,用于使当前文件知道类、接口和变量,并且与 Angular2 无关。

    @NgModule() 导入是为了让导入的@NgModule()s 中的exports: [] 被导入@NgModule() 知道,这样如果选择器匹配,它们就会应用于导入模块的组件。

    还将导入模块的providers: [] 添加到注入器的根范围(仅当模块未延迟加载时)。

    【讨论】:

    • 嗨,问题确实是一样的,但我发现非常难以理解第三段:“@NgModule() 导入是为了导出:[] of the imported @NgModule()s导入 @NgModule() 已知,因此如果选择器匹配,它们将应用于导入模块的组件。”请您进一步解释一下吗?
    • 好吧,我试图在这篇文章中找到答案,但没有成功,我不明白你写了什么。你能解释清楚为什么我们必须在 Angular 2 中导入两次吗?
    • @user3646717 如果您熟悉 .NET,请将顶部的import { BrowserModule } from '@angular/platform-browser'; 视为在项目级别将 DLL 添加到 References 中。现在,@NgModule({ imports: [ BrowserModule ], 是每个 .cs 文件顶部的 using 语句,用于明确说明此处使用了哪些 DLL。希望这个类比会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 2020-06-30
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2017-07-11
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多