0
私はAngular 4でページネーションを実装しようとしていますが、それでも動作しません。私は自分のデータを購読してhtmlで出力するためにサービスを使いました。私はそれにページ分割を入れて制限したいと思っています。以下は私のコードです。Ng-Bootstrap Pagination in Angular 4
TS
export class ProductListComponent implements OnInit {
closeResult: string;
products: any;
subscription: Subscription;
constructor(private modalService: NgbModal, private productService: ProductsService) { }
page :number = 1;
ngOnInit() {
this.subscription = this.productService.getAll()
.subscribe(
(data:any) => {
this.products = data;
},
error => {
});
}
}
あなたはpageProducts上* ngForを行う必要があります
<tbody>
<tr *ngFor="let product of products">
<td>{{ product.name }}</td>
<td>{{ product.desc }}</td>
<td>{{ product.qty }}</td>
<td>{{ product.price }}</td>
<td>
<button type="button" class="btn btn-sm btn-primary"><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Edit</button>
</td>
</tr>
</tbody>
</table>
<nav class="pull-right">
<ul class="pagination pagination-sm">
<ngb-pagination [collectionSize]="50" [(page)]="currentPage" size="sm"></ngb-pagination>
</ul>
</nav>
私の購読データはどうなりますか?このページを使用して購読データに接続するにはどうすればよいですか? – Joseph
あなたはproductServiceのサブスクリプションを維持する必要があります(このサブスクリプションウィッチは "this.products"と記入してください)。 "ゲッター"力を使って "pageProduct"について質問するのは、あなたが望むアイテムだけを返すことです。 – Eliseo
はいthis.productsは "let product of products"です。あなたのコードを編集して自分のコードに自分のコードを入れることはできますか?ありがとうございました – Joseph