2016-04-11 20 views
0

ホスト{}を使用してAngular2コンポーネントのイベントを購読すると、そのイベントの登録を解除するにはどうしたらいいですか?Angular2:ホストリスナーの登録解除

@Component({ 
    selector: "foo", 
    host: { 
     "(window:resize)": "doSomething($event)" 
    } 
}); 

私が退会する$イベントを使用しようとしたが、イベント自体は、私が退会したいシナリオを提示したことがありません。

今のところ私は貧弱な人の短絡をやっているだけですが、短絡に伴う余分なチェックを避けることをお勧めします。

貧乏人の短絡:

private _conditionMet:boolean = false; 
doSomething(e) { 
    if(this._conditionMet) { 
     return; 
    } 
    ... 
} 

somethingElse() { 
    this._conditionMet = true; 
} 

答えて

1

あなたは、ホストのリスナーからの退会することはできません。購読を解除する必要がある場合は、必然的に購読する必要があります。

も参照してください。Programmatically (un)register to event with Angular 2

関連する問題