有没有办法在匹配特定 URL 时运行函数。 例如: 如果我匹配一个 URL“/home”。是否可以运行此操作
this.store.dispatch(new SampleAction())
最佳答案
1.- 对于单个路线:
您可以在组件的 onInit()
函数中执行您的函数:
import { Component, OnInit } from '@angular/core';
@Component({
})
export class YourComponent implements OnInit {
constructor() { }
ngOnInit() {
//your code here
}
}
一旦您导航到路线,您的函数就会被执行。 请注意,您的路由应添加到您的路由模块中:
const routes: Routes = [
{path: 'youRoute', component: YourComponent}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
}
2.-相同功能多条路线
如果您想对多个路由执行相同的代码,您可以监听路由更改。您的路由器 socket 应如下所示:
<router-outlet (activate)="routeChange()"></router-outlet>
在你的组件中:
constructor(public route: Router) {}
myRoutes: string[] = ['/tools', '/home'];
routeChange() {
if (this.myRoutes.some(e => e === this.route.url)) {
console.log('execute');
} else {
console.log('dont execute');
}
}
关于angular - 在 Angular NGXS 中对匹配的 URL 运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58645412/