我已经检查了以下问题:
并且我已经遵循了本教程:
并且以前我使用过Angular Material,但是对于它来说它是行不通的:
compiler.js:1016未捕获的错误:模板解析错误: “ mat-button-toggle”不是已知元素: 1.如果“ mat-button-toggle”是Angular组件,则请验证它是否属于此模块。
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { TRANSLATION_PROVIDERS } from './translations';
import { TranslateService } from './services/translator.service';
import { AppComponent } from './app.component';
import { MatButtonModule, MatCheckboxModule, MatFormFieldModule, MatInputModule, MatRippleModule, MatDatepickerModule, MatNativeDateModule } from '@angular/material';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
FormsModule,
MatButtonModule,
MatCheckboxModule,
MatFormFieldModule,
MatInputModule,
MatRippleModule,
BrowserAnimationsModule,
MatDatepickerModule,
],
exports: [
BrowserModule,
FormsModule,
MatButtonModule,
MatCheckboxModule,
MatFormFieldModule,
MatInputModule,
MatRippleModule,
BrowserAnimationsModule,
MatDatepickerModule,
],
declarations: [AppComponent],
providers: [TRANSLATION_PROVIDERS, TranslateService],
bootstrap: [AppComponent]
})
export class AppModule { }
(这里我只是试图添加这些按钮,即使没有真正的功能)
....
<div>
<mat-button-toggle-group name="fontStyle" aria-label="Font Style">
<mat-button-toggle value="bold">Bold</mat-button-toggle>
<mat-button-toggle value="italic">Italic</mat-button-toggle>
<mat-button-toggle value="underline">Underline</mat-button-toggle>
</mat-button-toggle-group>
</div>
...
styles.css
@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';
body {
font-family: Roboto, Arial, sans-serif;
margin: 0;
}
.basic-container {
padding: 30px;
}
.version-info {
font-size: 8pt;
float: right;
}
html, body { height: 100%; }
body { margin: 0; font-family: 'Roboto', sans-serif; }
答案 0 :(得分:12)
mat-button-toggle
是MatButtonToggleModule
的一部分,因此您也必须导入它。
在您的AppModule中添加相同的导入语句:
import {MatButtonToggleModule} from '@angular/material/button-toggle';
然后将其也添加到imports
数组中,以便AppModule的模板可以了解mat-button-toggle
是什么。
此外,我不太确定为什么要从AppModule中导出这些模块。如果计划在其他模块中导入该模块,则通常会从该模块导出任何内容。但是由于这是AppModule,因此是RootModule,所以我认为您不会在其他任何模块中导入它。情况可能并非如此。