我已将共享模块添加到我的应用程序。看起来很简单。
const imports = [
CommonModule,
RouterModule,
BrowserModule,
FormsModule, ReactiveFormsModule
];
@NgModule({imports})
export class SharedModule {}
当我将共享模块导入另一个模块时,看不到导入的人员。我收到这样的错误:“无法绑定到'formGroup',因为它不是'form'的已知属性。(”,这意味着FormsModule无法正确导入。 如果我将这些基本模块直接导入到我的应用程序模块中,就可以了。
我们非常感谢您的帮助和建议。
答案 0 :(得分:2)
您很有可能还需要导出这些模块。
通常:
@NgModule({
imports: [
SomeModule
],
declarations: [
...
],
exports: [
SomeModule,
]
});
另请参阅此angular doco ...
通过重新导出 CommonModule和FormsModule,导入此SharedModule的任何其他模块都可以从CommonModule访问NgIf和NgFor之类的指令,并且可以使用[[ngModel)]绑定到组件属性。 FormsModule中的指令。
答案 1 :(得分:0)
您必须导出在共享模块中使用的依赖模块,以便从不导入这些依赖的其他地方使用共享模块。
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { CustomerComponent } from './customer.component';
@NgModule({
imports: [ CommonModule ],
declarations: [ CustomerComponent ],
exports: [ CustomerComponent
CommonModule, FormsModule ]
})
export class SharedModule { }