如果我使用host {}订阅Angular2组件中的事件,我该如何取消订阅该事件?
@Component({
selector: "foo",
host: {
"(window:resize)": "doSomething($event)"
}
});
我尝试使用$ event来取消订阅,但事件本身从未出现过我要取消订阅的情况。
目前,我只是在做一个穷人的短路,但我宁愿避免短路所涉及的额外检查。
穷人的短路:
private _conditionMet:boolean = false;
doSomething(e) {
if(this._conditionMet) {
return;
}
...
}
somethingElse() {
this._conditionMet = true;
}
答案 0 :(得分:1)
您无法取消订阅主持人监听器。如果您需要取消订阅,则需要强制订阅。