很抱歉,如果这很难理解,但我很困惑为什么我的代码在某些组件中工作,而不是其他组件。我将MdButtonModule
导入到我的app.module.ts
文件中,并且能够在app.component.html
文件中使用以下代码:
<button md-button>Click Me!</button>
当我在名为shifts.component.html
的组件中尝试相同的代码时,它不起作用。 shifts.component.ts
导入shifts.module.ts
,shifts.module.ts
导入app.module.ts
。事实证明,为了在MdButtonModule
中使用Angular Material按钮,我必须将shifts.module.ts
导入shifts.component.html
。如果我在app.module.ts
中导入Angular Material按钮,我不应该在任何组件中使用Angular Material按钮吗?有些事似乎不对。我不理解的是什么?
答案 0 :(得分:1)
这条信息取自Official Angular Material
第3步:导入组件模块
Import the NgModule for each component you want to use:
import {MdButtonModule, MdCheckboxModule} from '@angular/material';
@NgModule({
...
imports: [MdButtonModule, MdCheckboxModule],
...
})
export class PizzaPartyAppModule { }
或者,您可以创建一个单独的NgModule,用于导入将在应用程序中使用的所有Angular Material组件。然后,您可以将此模块包含在您希望使用组件的任何位置。
import {MdButtonModule, MdCheckboxModule} from '@angular/material';
@NgModule({
imports: [MdButtonModule, MdCheckboxModule],
exports: [MdButtonModule, MdCheckboxModule],
})
export class MyOwnCustomMaterialModule { }
无论您使用哪种方法,请务必在Angular的BrowserModule之后导入Angular Material模块,因为导入顺序对NgModules很重要。