- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个模块 AppModule
和另一个模块 FooModule
。我在 FooModule
中有一些组件,并且像任何普通应用程序一样在 AppModule
中加载 FooModule
的路由。
以下是AppModule
的示例代码:
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from 'app/components/app';
@NgModule({
imports: [
BrowserModule,
RouterModule.forRoot([
{
path: 'foo',
loadChildren: './foo.module#FooModule'
}
])
],
declarations: [AppComponent],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
以下是FooModule
的示例代码:
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'
import { FooComponent } from 'app/components/foo';
@NgModule({
imports: [
RouterModule.forChild([
{
path: '',
component: FooComponent
}
])
],
declarations: [FooComponent],
})
export class FooModule {}
现在,当我运行该应用程序时,我收到 Can't bind to 'ngIf'because it isn't aknown property of 'div'.
错误,根据我的理解应该是这样的不会发生这种情况是因为我在 AppModule
中使用 BrowserModule
并在 AppModule
中加载 FooModule
的路由。
我错过了什么吗?
我正在使用 Angular CLI v1.2.0
和 Angular 4.2.5
。
我知道要解决此问题,我需要在 FooModule
中导入 CommonModule
。但这正是我首先问这个问题的原因,当我在 AppModule
中导入 BrowserModule
并重新导出 CommonModule
时,为什么我需要在每个单独的模块中包含 CommonModule
吗?
谢谢
最佳答案
在每个功能模块中,例如您的 fooModule
,您需要导入 CommonModule
。它包含通用指令和管道。
实际上,BrowserModule
导入并重新导出 CommonModule
,因此它们导出相同的功能。
有关详细信息,请参阅:https://www.youtube.com/watch?v=ntJ-P-Cvo7o&t=2s
更新
模块不被继承。换句话说,除非导入该模块或导出该模块的另一个模块,否则您无法获得该模块的功能。
如上图所示...如果 Shared Module 导入 Forms Module 并且 App Module 导入 Shared Module,则 App Module 将无法访问 Forms Module 组件、指令和管道(例如本例中的 ngModel),除非共享模块导出表单模块。
关键:
关于javascript - Angular 2/4 中关于 BrowserModule 的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45442765/
这是我的代码: import { CommonModule } from '@angular/common'; import { HttpClientModule } from '@angu
我已将我的应用程序更新为 RC6,但现在我不断收到此错误: zone.js:484 Unhandled Promise rejection: BrowserModule has already bee
我在根 AppModule 中导入了 DashboardModule。在 DashboardModule 的组件模板中,我使用了 *ngFor。它在 BrowserModule 中声明(恰好在 Bro
我正在尝试实现延迟加载但出现如下错误** ERROR Error: Uncaught (in promise): Error: BrowserModule has alreadybeen loaded
这两个模块的用途是什么? import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDyna
我对 Angular 的世界还很陌生。 CommonModule 与 BrowserModule 之间有什么区别,为什么应该优先选择另一个? 最佳答案 您必须了解的是,使用 Angular,您可以创建
我正在浏览 Angular2 教程 https://angular.io/docs/ts/latest/tutorial/toh-pt5.html .一切都好一步路由。 Visual Studio C
我只是想在 Angular2 中运行一个简单的 index.html 页面,但它在控制台中向我显示 zone.js 中的错误: Unhandled Promise rejection: No
我有一个模块 AppModule 和另一个模块 FooModule。我在 FooModule 中有一些组件,并且像任何普通应用程序一样在 AppModule 中加载 FooModule 的路由。 以下
我在运行 angular 2 应用程序时遇到问题。通话期间 import { PlatformRef } from '@angular/core/src/application_ref'; impor
我们有一个遗留应用程序,其中包括 POJavascript、原型(prototype)和 jquery。 我们正在以 Angular 一次一个部分地重写应用程序。目前我们已经用angular4重写了一
这个问题在这里已经有了答案: Lazy Loading BrowserModule has already been loaded (13 个答案) 关闭 2 年前。 我正在使用具有延迟加载概念的多
第一个问题 目标 我正在尝试使用 ng add @nguniversal/express-engine --clientProject [name] 将 SSR 添加到我的 Angular 项目中(这
我是一名优秀的程序员,十分优秀!