0

我有一个名为 Items 的模块,我导航到它的 items.Component.ts 形成许多路由器链接。要跟踪我们来自哪个页面,可以将 id 与路由器路径一起传递。

this.router.navigate(['/items',id passed along with);

但我想根据我之前来自的页面调用不同的函数ngOnit(). 。如果我从 Menu 导航,我想在 itemscomponent 中调用函数 A,如果我从 Category 导航,我想调用 B

还可以从模块(或组件)html文件或component.ts(视图模型)中完成所需的导航如何角度实现这一点?

4

1 回答 1

1

您可以使用 queryParams 并从菜单页面发送 1,从类别发送 2,导航后您可以执行与查询参数相关的功能

   this.router.navigate(['/items'],id, { queryParams: { functionToexecute: 1  } });

在您的 itemsComponent 中:

 constructor(
   private route: ActivatedRoute,
   private router: Router) {}

  ngOnInit() {
   this.route
    .queryParams
    .subscribe(params => {
     if (params['functionToexecute'] === 1){ call functionA} else{call 
      function B}
   });
 }
于 2017-11-14T08:09:07.693 回答