首页 > 解决方案 > 在 Angular 中更改计数器变量的值

问题描述

我的登录页面上有 2 个按钮,Button1两个Button2.按钮都指向同一个 URL 页面。但是在单击按钮 2 时,我想禁用下一个 URL 页面上的按钮 3 的功能。

只有在主页上单击按钮 1 时,才能访问按钮 3。

这是主页的 HTML 代码。按钮 1 是 ngForm 的一部分。

<button class="btn btn-primary" id="alert" type="submit">Login</button>
<button class="btn-primary" routerLink="/login/olduser" id="logins">Patient Login</button>

这是第二页的 HTML 代码。

 <button class="btn btn-primary" style ='margin-left: 700px;'routerLink="../../login/newuser">Register a new patient </button>

我想到的一种可能的解决方案是在单击按钮 2 时将计数器变量从主页导出到第二页,这将通知禁用按钮 3,但我没有这样做。我怎样才能实现这个功能?

这是我到目前为止所尝试的:

 <button class="btn-primary"  (Click)="newUser()" id="logins">Patient Login</button>

 
 public newUser(){
var status="success";
console.log(status);
this.router.navigateByUrl('/login/olduser');
  }

我正在尝试在控制台上打印“状态”的值,以检查是否正在访问该方法,但控制台上没有输出,并且 url 也没有改变。

我想在 olduser.ts 脚本中调用这个“状态”变量。

标签: htmlangulartypescript

解决方案


您似乎正试图根据用户类型(患者、非患者)限制某种仪表板的功能。

我认为您根本不应该在这里依赖推荐人按钮。

登录后,我会向客户端应用程序发送用户权限列表之类的内容,并将其包装成AuthorizationService某种形式。然后我会检查用户是否有权注册新患者并显示/隐藏相应的按钮。

当然,您不应该忘记注册请求的服务器端验证。

UPD:如果其中一种用户类型不区分用户并且不需要服务器端身份验证,您可以在服务中为那些非特权用户生成某种默认权限集并保留显示逻辑第 2 页基于权限检查。


推荐阅读