我对角度7有疑问。 我有一个视图,它在init上加载了一些数据。但是此视图必须在路由更改时重新加载数据。 在url中,我有一个ID用于重新加载同一视图,这就是为什么onInit触发器仅触发一次的原因。
基本上,我要做的是在OnInit上调用后端,然后订阅路由更改并将调用复制到后端。
在这种情况下,最佳做法是什么?我不认为重复代码是解决方案...
我无法发布代码,因为我有很多后端调用,并且代码很长。
谢谢!
答案 0 :(得分:1)
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) {
this.route.paramMap.subscribe( params => {
this.id = params.get('id');
this.makeYourAPICalls(this.id);
});
}
由于route
的类型为Observable
,因此,只要更改路线,您总是会收到通知。