如何从Angular中的活动路由器链接获取组件名称

时间:2018-12-05 05:37:15

标签: angular angular-ui-router components angular-routing

我想获取标题布局中由路由器链接激活的组件的名称。然后根据激活的组件名称进行检查。 如果有办法,请帮助我解决这种情况。 目前,我正在 ngOnInit 方法

中获取路由器链接地址
this.router.url

我还希望链接到活动路由器链接的组件名称,因为在某些情况下,组件名称和url段在我的应用程序中不匹配

2 个答案:

答案 0 :(得分:1)

  1. 您可以使用:

    //路由器出口>       (activate)='onActivate($ event)'       (取消激活)='onDeactivate($ event)'>     

其中$ event是组件实例。从这里https://stackoverflow.com/a/45431729/6528560

  1. 您应该在每个路由定义中添加带有组件名称的数据,然后在ActivatedRoute中读取它

    公共构造函数(专用路由:ActivatedRoute){       console.log(route.snapshot.data ['name']);     }

https://stackoverflow.com/a/40863833/6528560

答案 1 :(得分:1)

希望这会对您有所帮助。

     goBack = () => {
    if (this.props.dirty || this.state.dirty) {
      this.toggleClose();
    } else {
      this.gotoUserListPage();
    }
  };

它将返回组件名称。