Masalah Material Sudut di versi 8.2.14
Edit (20/08/2020 14:12) :
Saya mendapatkan detail lebih lanjut karena parse HTML:
Uncaught Error: Template parse errors:
'mat-card-title' is not a known element:
1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
<mat-card>
<mat-card-header>
[ERROR ->]<mat-card-title>Login</mat-card-title>
</mat-card-header>
<mat-card-content>
"): ng:///AppModule/LoginComponent.html@11:4
'mat-card-header' is not a known element:
1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
DIPERBARUI :
Saya memperbaiki sebagian besar masalah. Sekarang kasusnya tentang paket @ angular / cdk :
node_modules/@angular/cdk/tree/padding.d.ts:36:9 - error TS1086: An accessor cannot be declared in an ambient context.
36 set indent(indent: number | string);
~~~~~~
node_modules/@angular/cdk/tree/toggle.d.ts:17:9 - error TS1086: An accessor cannot be declared in an ambient context.
17 get recursive(): boolean;
~~~~~~~~~
node_modules/@angular/cdk/tree/toggle.d.ts:18:9 - error TS1086: An accessor cannot be declared in an ambient context.
18 set recursive(value: boolean);
~~~~~~~~~
node_modules/@angular/cdk/tree/tree.d.ts:37:9 - error TS1086: An accessor cannot be declared in an ambient context.
37 get dataSource(): DataSource<T> | Observable<T[]> | T[];
~~~~~~~~~~
node_modules/@angular/cdk/tree/tree.d.ts:38:9 - error TS1086: An accessor cannot be declared in an ambient context.
38 set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]);
~~~~~~~~~~
node_modules/@angular/cdk/tree/tree.d.ts:103:9 - error TS1086: An accessor cannot be declared in an ambient context.
103 get data(): T;
~~~~
node_modules/@angular/cdk/tree/tree.d.ts:104:9 - error TS1086: An accessor cannot be declared in an ambient context.
104 set data(value: T);
~~~~
node_modules/@angular/cdk/tree/tree.d.ts:106:9 - error TS1086: An accessor cannot be declared in an ambient context.
106 get isExpanded(): boolean;
~~~~~~~~~~
node_modules/@angular/cdk/tree/tree.d.ts:107:9 - error TS1086: An accessor cannot be declared in an ambient context.
107 get level(): number;
Konsol CMD
npm WARN [email protected] requires a peer of jasmine-core@>=3.5 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/[email protected] requires a peer of @angular/core@^10.0.0 || ^11.0.0-0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/[email protected] requires a peer of @angular/common@^10.0.0 || ^11.0.0-0 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/[email protected] requires a peer of @angular/[email protected] but none is installed. You must install peer dependencies yourself.
Apakah ada solusi untuk itu? Terima kasih! :)
Melihat pertanyaan-pertanyaan berikut tentang subjek ini: @ angular / material / index.d.ts 'bukan modul , Bagaimana cara mengimpor Material Angular dalam proyek? , dan mengimplementasikan modul seperti berikut, kompilator memberi saya kesalahan.
angular-material.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {
MatCardModule,
MatDialogModule,
MatMenuModule,
MatButtonModule,
MatToolbarModule,
MatIconModule,
MatBadgeModule,
MatSidenavModule,
MatListModule,
MatGridListModule,
MatFormFieldModule,
MatInputModule,
MatSelectModule,
MatRadioModule,
MatDatepickerModule,
MatNativeDateModule,
MatChipsModule,
MatTooltipModule,
MatTableModule,
MatPaginatorModule,
MatProgressSpinnerModule
} from '@angular/material';
@NgModule({
imports: [
MatCardModule,
MatDialogModule,
MatMenuModule,
MatProgressSpinnerModule,
CommonModule,
MatButtonModule,
MatToolbarModule,
MatIconModule,
MatSidenavModule,
MatBadgeModule,
MatListModule,
MatGridListModule,
MatFormFieldModule,
MatInputModule,
MatSelectModule,
MatRadioModule,
MatDatepickerModule,
MatNativeDateModule,
MatChipsModule,
MatTooltipModule,
MatTableModule,
MatPaginatorModule
],
exports: [
MatCardModule,
MatDialogModule,
MatMenuModule,
MatProgressSpinnerModule,
MatButtonModule,
MatToolbarModule,
MatIconModule,
MatSidenavModule,
MatBadgeModule,
MatListModule,
MatGridListModule,
MatInputModule,
MatFormFieldModule,
MatSelectModule,
MatRadioModule,
MatDatepickerModule,
MatChipsModule,
MatTooltipModule,
MatTableModule,
MatPaginatorModule
],
providers: [
MatDatepickerModule,
]
})
export class AngularMaterialModule { }
Akhir-akhir ini, di package.json saya menambahkan seperti ini untuk menempatkan versi lama yang kompatibel dengan node_modules/@angular/material/index.d.ts:
"dependencies": {
"@angular/animations": "~8.2.14",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "^8.2.3",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"chokidar": "^3.4.2",
"core-js": "^3.6.5",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
Akhirnya, di app.module.ts saya menambahkan file dependensi:
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { LoginComponent } from './login/login.component';
import { LogoutComponent } from './logout/logout.component';
import { AngularMaterialModule } from './angular-material.module';
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';
import { HeaderComponent } from './header/header.component';
import { UserComponent } from './user/user.component';
import { FooterComponent } from './footer/footer.component';
import {BasicAuthHtppInterceptorService} from './service/basic-auth-interceptor.service';
Struktur aplikasi saya mirip dengan ini:
Struktur Aplikasi Sudut
Apa yang harus saya lakukan untuk menampilkan tag HTML pada versi ini? Terima kasih sebelumnya :)
Jawaban
Menurut package.json Anda, Anda menggunakan Angular 8.3, dan Anda memiliki @ angular / cdk @ 10.1.3. Anda dapat menurunkan versi angular / cdk Anda dengan menggunakan
npm i @angular/[email protected]
atau Anda dapat meningkatkan versi Angular ke v9 dengan menjalankan:
ng update @angular/core @angular/cli
Itu akan memperbarui versi sudut lokal Anda menjadi 9. Kemudian, hanya untuk menyinkronkan materi, jalankan: ng update @angular/material