我正在创建一个项目,该项目可细分为不同的应用程序。例如,我想使用身份验证应用程序。
首先,让我们定义一下我的意思是全局模块。作为最小的示例,这里列出了一些列表。
FlexLayoutModule
CustomUIModule
这些模块必须在项目中声明一次。这里是AppModule
@NgModule({
declarations: [
AppComponent,
],
imports: [
// Dependencies
BrowserModule,
BrowserAnimationsModule,
FlexLayoutModule,
CustomUIModule,
// Apps
AuthenticationModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
现在让我向您展示AuthenticationModule
。我只有这个模块的登录组件。
@NgModule({
declarations: [
LoginComponent,
],
exports: [
LoginComponent
],
})
export class AuthenticationModule { }
我的问题是LoginComponent
无法识别FlexLayoutModule
和CustomUIModule
模块。但是,如果将这些模块放在的import选项中,则可以解决AuthenticationModule
。
但是疯了的人,我不想在创建另一个应用程序并执行相同的操作时这样做,因为这些模块是全局类型,并且必须一次声明。谁能解决我的应用程序问题?非常感谢。
更具体地说,我得到了this error
:
Error: Template parse errors:'mat-[some-material-component]'is not a known element.
按照指南:https : //angular.io/guide/sharing-ngmodules
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { FlexLayoutModule} from './new-item.directive';
import { CustomUIModule } from './orders.pipe';
@NgModule({
imports: [ FlexLayoutModule,CustomUIModule, FormsModule, CommonModule ],
declarations: [ ],
exports: [ FlexLayoutModule,CustomUIModule, FormsModule, CommonModule ]
})
export class SharedModule { }
通过重新导出FlexLayoutModule,CustomUIModule, FormsModule, CommonModule
,导入了this的任何其他模块SharedModule
都可以访问导出的成员。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句