我想为组件添加保护。 如果用户无权查看此组件,则不会呈现该组件。
我已经尝试将我的 if
放入构造函数并返回 false
但它仍然呈现。
我还将 if
添加到模板本身,但后来我没有看到 View ,但组件仍然存在,这增加了代码的复杂性,因为我需要维护相同的 if
。
有没有办法告诉组件根本不渲染?
constructor( private userService: UserService) {
if (this.userService.isAllowed("see_trade_groups") === false) {
return;
}
}
最佳答案
为此,您可以查看 CanActivate 强>。放在组件上 route
它会完成你想要的工作。
因为您可以编写一个逻辑,基于该逻辑是否导航路线。
关于javascript - angular 4.根据if删除构造函数中的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48376705/