在Angular6中,出现错误请添加@ Pipe / @ Directive / @ Component批注
我使用的是角度CLI版本:6.1.4 角版本:6.1.3 节点:10.9.0 NPM:6.2.0
当我在终端中运行ng serve时,已编译但在浏览器 localhost:4200 中尝试显示的错误。 错误显示在以下错误中。
答案 0 :(得分:2)
在我的情况下,我在AppModule中声明了一个自定义模块。这是不必要的,因为应用程序路由正在处理自定义模块。只需删除声明即可。希望这对某人有帮助
答案 1 :(得分:0)
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HttpClientModule } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { BookComponent } from './book/book.component';
import { Pipe, PipeTransform } from '@angular/core';
import { Directive } from '@angular/core';
import { BookDetailComponent } from './book-detail/book-detail.component';
import { BookCreateComponent } from './book-create/book-create.component';
import { BookEditComponent } from './book-edit/book-edit.component';
import {
MatInputModule,
MatPaginatorModule,
MatProgressSpinnerModule,
MatSortModule,
MatTableModule,
MatIconModule,
MatButtonModule,
MatCardModule,
MatFormFieldModule } from "@angular/material";
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
const appRoutes: Routes = [
{
path: 'books',
component: BookComponent,
data: { title: 'Book List' }
},
{
path: 'book-details/:id',
component: BookDetailComponent,
data: { title: 'Book Details' }
},
{
path: 'book-create',
component: BookCreateComponent,
data: { title: 'Create Book' }
},
{
path: 'book-edit/:id',
component: BookEditComponent,
data: { title: 'Edit Book' }
},
{ path: '',
redirectTo: '/books',
pathMatch: 'full'
}
];
@NgModule({
declarations: [
AppComponent,
BookComponent,
BookDetailComponent,
BookCreateComponent,
BookEditComponent
],
imports: [
RouterModule.forRoot(appRoutes),
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpClientModule,
BrowserAnimationsModule,
MatInputModule,
MatTableModule,
MatPaginatorModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatButtonModule,
MatCardModule,
MatFormFieldModule,
BrowserAnimationsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
book.component.ts
import { Component, OnInit } from '@angular/core';
import { ApiService } from '../api.service';
import { DataSource } from '@angular/cdk/collections';
import { Observable, pipe } from 'rxjs';
@Component({
selector: 'app-book',
templateUrl: './book.component.html',
styleUrls: ['./book.component.css']
})
export class BookDataSource extends DataSource<any> {
constructor(private api: ApiService) {
super()
}
connect() {
return this.api.getBooks();
}
disconnect() {
}
}
export class BookComponent implements OnInit {
books: any;
displayedColumns = ['isbn', 'title', 'author'];
dataSource = new BookDataSource(this.api);
constructor(private api: ApiService) { }
ngOnInit() {
this.api.getBooks()
.subscribe(res => {
console.log(res);
this.books = res;
}, err => {
console.log(err);
});
}
}