【发布时间】:2019-03-13 03:42:10
【问题描述】:
我想根据左侧点击的作者过滤书籍列表。作者和书籍在不同的数组中,所以当我点击 route.params 并尝试根据该 ID 过滤书籍时我得到了作者 ID,但它给了我一个错误。
如何过滤右边有点击作者的书籍??
import { Component, OnInit } from '@angular/core';
import { BooksService } from '../shared/books.service';
import { ActivatedRoute, Params } from '@angular/router';
import { Book } from './book.model';
@Component({
selector: 'app-books',
templateUrl: './books.component.html',
styleUrls: ['./books.component.scss']
})
export class BooksComponent implements OnInit {
books: Book[];
filteredBooks: Book[];
id: string;
constructor(
private booksService: BooksService,
private route: ActivatedRoute
) {}
ngOnInit() {
this.booksService.booksChanged
.subscribe(
(books: Book[]) => {
this.books = books;
}
);
this.books = this.booksService.getBooks();
this.route.params.subscribe((params: Params) => {
this.id = params['id'];
this.filteredBooks = this.booksService.books.filter(item => item.author === this.id);
console.log(this.filteredBooks);
});
}
}
【问题讨论】:
标签: angular typescript filter