のプロパティを読み取ることができません「配信停止」これは私がこのコンポーネントを残して、他のコンポーネントをロードする際に角度2上に構築された電子商取引のカートで、私は私が試したエラー角度2:未定義
EXCEPTION: Uncaught (in promise): Error: Error in ./ProductsComponent class ProductsComponent - inline template:11:4 caused by: Cannot read property 'unsubscribe' of undefined
を取得プライベートサブスクリプションを削除する:サブスクリプションと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();
}
}
こんにちはゲリラ、質問をしていただきありがとうございます。私は角2を初めて使っています。あなたはさらに詳しく説明できますか? –
エラーメッセージに、未定義の登録解除を読み取ることができないと表示されます。私はあなたがngOnDestroy()にある呼び出しを見ることができます。それで、あなたのサービスがおそらく観察可能なものを返すわけではないと私は思う。退会した行のブレークポイントを設定して、サブスクリプションが開始され、それが観測可能かどうかを確認してください。 – Guerrilla
"typeof subscription"を実行し、オブジェクトを返しました。 –