每当在angular 2+中调用组件时如何运行函数?

时间:2018-09-14 03:27:24

标签: javascript angular angular6 angular-components

我正在开发2+角度的网,但遇到了问题。我的网站使用延迟加载机制。正常情况下,如果我想在调用某个组件时运行该组件的函数,则必须在ngOnInit()中调用该函数,但是我有很多组件,并且我希望始终在调用组件时运行该函数。所以我想知道我们是否有任何解决方案来运行功能而无需在每个组件中调用该功能?

1 个答案:

答案 0 :(得分:0)

相反,您可以在主组件的(父组件)ngOnInit()中使用计时器。在ngOnInit()内部,您可以检查路由更改。

第一步,存储路线URL。 计时器每隔一秒钟就会呼叫并检查当前路由是否不等于前一条。 如果网址已更改,则调用您上面提到的函数。

示例

ngOnInit() {
this.timer = Observable.timer(1000,2000);
this.timer.subscribe((t) => {
//check current route with previous one
//if it doesn't match, call the function
});

}