首页 > 解决方案 > 你如何处理 Angular 组件(不是控制器)中的变量范围?

问题描述

我想检查登录用户的管理员访问权限,并显示一个切换按钮,如果他们显示他们的当前状态,如下所示:

<button id="admin_button" (click)="admin=(admin?0:1)">{{ admin?'Admin':'Not Admin'}}</button>

这是在我的 app.component 文件中,因为我希望它位于所有页面的顶部横幅导航下方。然后,在我的家庭组件中,我想对管理员状态做出如下反应:

<p *ngIf="admin" class="controls">Edit</p>

这个想法是编辑按钮仅供管理员使用,但切换按钮让我可以轻松地在管理员和非管理员视图之间切换页面。问题是 home 组件不知道 admin 变量,我不知道如何解决这个问题。

我看到的所有教程和指南以及 SO 问题都在谈论仅适用于控制器的 $scope 和 $rootScope。我肯定会需要一系列“应用程序范围变量”(基本上是全局变量或会话变量),但我该如何实现呢?

标签: angulartypescriptscope

解决方案


推荐阅读