javascript - angular 4.根据if删除构造函数中的组件

标签 javascript angular

我想为组件添加保护。 如果用户无权查看此组件,则不会呈现该组件。

我已经尝试将我的 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/

相关文章:

javascript - 我如何向打开 Chrome 控制台的用户显示警告,就像 Facebook 和 Blockchain 一样?

angular - ng 服务抛出错误 "The serve command requires to be run in an Angular project, but a project definition could not be found"

angular - asp.net core prerender webpack 错误 : TypeError: Cannot read property 'filter'

c# - 从 Unity WebGL 调用 Angular2 函数

javascript - NVD3(D3 JS)如何去掉y2轴

javascript - 最佳实践 : very long running polling processes in Javascript?

html - 如何避免重复 HTML 文本,因为移动响应

javascript - 在我的 Angular 2 应用程序中安装 ng2-bootstrap 时出现问题

javascript - 将 kendo.all.min.js 更新到 2014.3.1411 后,我的 Canvas 遇到问题

javascript - 根据优先级对基于多个属性的javascript对象进行排序