根据逻辑

时间:2017-07-12 20:42:53

标签: angular

我是否可以点击路径并根据一些逻辑选择加载哪个组件。我试图在基本级别进行排序的例子是,如果有人点击/,我通常会做类似的事情:

{
    path: '',
    component: LandingComponent,
}

但是,如果有人登录该网站,我们希望他们在点击HomeComponent时转到/

{
    path: '',
    component: HomeComponent,
}

我想根据其他值选择加载这两个组件中的哪一个。我知道如果我希望登录用户使用解析器转到/home,我可以重定向它们,但除了创建一个包含动态组件的包装器组件之外,不确定这是否可以按照我的方式完成成像。我也看到我可以更改路由器配置,但我看到的SO问题是2016年初,所以我甚至不确定它是否有效。

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

{
  path: 'foo',
  component: GLOBAL_CONDITION ? FooComponent : BarComponent
}

但正如其他人所说的......对于这种特定情况,路线保护通常更好。它还可以防止访问子路径,因此用户无法通过直接在其他路线上输入网址来保护您的安全。