-2

これは Angular 2 で構築された e コマース カートです。このコンポーネントを離れて他のコンポーネントをロードすると、エラーが発生します。

例外: キャッチされていません (約束されています): エラー: ./ProductsComponent クラス ProductsComponent のエラー - インライン テンプレート:11:4 原因: 未定義のプロパティ 'unsubscribe' を読み取れません

プライベート サブスクリプション : Subscription と ngOnDestroy を削除しようとしました。しかし、それでも同じエラーが発生します。

  import { Component, OnInit, OnDestroy } from '@angular/core';
  import { Products } from './products';
  import { PRODUCTS } from './product_list';
  import { Subscription } from 'rxjs/Rx';
  import { PaginationService } from './pagination.service';
  import { Pagination } from './pagination';
  import 'rxjs/add/operator/switchMap';

  @Component({
    selector: 'any-products',
    templateUrl: './products.component.html',
    styleUrls: ['./products.component.css']
  })

  export class ProductsComponent implements OnInit, OnDestroy {

    color: string;
    allProducts = PRODUCTS;
    private subscription: Subscription;
    paginationNow : Pagination = this.paginationService.CreatePaginationNow(this.paginationService.productPerPage);
    products : Array<Products> = this.allProducts.slice((this.paginationNow.paginationLowerLimit-1),this.paginationNow.paginationHigherLimit); 

    constructor( private paginationService : PaginationService ) { }

    ngOnInit() {
      this.subscription = this.paginationService.pushedPagination.subscribe(
        PaginationNow => {
          this.paginationNow = PaginationNow;
           this.products = this.allProducts.slice((this.paginationNow.paginationLowerLimit-1),this.paginationNow.paginationHigherLimit);
        }        
      );      
    }

    ngOnDestroy(){
        this.subscription.unsubscribe();
    }
  }

ここに画像の説明を入力

4

1 に答える 1