【发布时间】:2019-12-14 05:49:16
【问题描述】:
最初,当我基于当前路由链接登陆应用程序的主页时,我正在获取路由器参数并作为参数传递给 API 以获取数据,此调用应在 OnInit 和从下次每当用户更改路由时,我必须根据路由器参数调用不同的函数将其发送到后端。仅当路由器资源 URI 已更改时,我才必须调用函数。请帮我看看如何检查路由器链接是否已更改。
用于在@ngOnInit 中获取当前路由器参数的代码不确定如何检查路由器参数何时更改的条件。
this.route.params.pipe(takeUntil(this.unsubscribe$)).subscribe(params => {
this.resourceURI = params['resourceURI'];
this.fetchDataOnInit(this.resourceURI);
});
// 必须在这里检查一些条件,并从第二次开始调用其他一些我不知道如何尝试的函数。
【问题讨论】:
-
你订阅了一个 observable,这意味着任何时候参数改变这个订阅应该导致 observable 发出一个值。这个值被广播给所有的观察者,就像你在 ngOnInit 中的组件一样。在您的订阅中尝试
console.log(params);。