2017-07-19 31 views
1

我正在使用Angular 4.x項目,並且有2頁的路由配置正確。Angular2 NgForm valueChanges在導航到不同頁面時仍然被觸發

在第1頁,我已預訂NgForm的valueChanges這樣的:

this.myNgForm1.valueChanges.subscribe(data => { 
    console.log("Is myNgForm valid ? " + this.myNgForm1.valid); 
}); 

當裝載第1頁,我可以看到 「是myNgForm有效?」。

但是,單擊鏈接轉到第2頁的時候,我意識到myNgForm1.valueChanges再次觸發了,現在我可以看到「是myNgForm有效?真正

任何想法,以避免導航到不同頁面時觸發myNgForm1的valueChanges?謝謝!

+0

做你使用模板驅動的形式還是反應? –

回答

1

據我所知,你需要做這樣的事情:

this.valueChangesSubscriber = this.myNgForm1.valueChanges.subscribe(data => { 
    console.log("Is myNgForm valid ? " + this.myNgForm1.valid); 
}); 

然後在類中添加:

ngOnDestroy() { 
    this.valueChangesSubscriber.unsubscribe() 
} 
+0

謝謝!有用! –

1

退訂ngOnDestroy

this.subscription = this.myNgForm1.valueChanges.subscribe(data => { 
    console.log("Is myNgForm valid ? " + this.myNgForm1.valid); 
}); 

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

謝謝!有用! –

相關問題