angular - 多次显示/隐藏组件角度
问题描述
我想实现以下目标:当用户单击“登录”时显示登录组件并隐藏“注册”组件,当用户单击“注册”时显示注册组件并隐藏“登录”组件。
我的代码只工作一次:当用户单击“登录”时显示登录组件并隐藏“注册”,当用户单击“注册”时显示注册组件并隐藏“登录”组件。
但如果我再次点击登录它仍然显示注册组件。
这是我的代码:
<button pButton label="register" (click)="registerOn= true">הרשמה</button>
<button pButton label="login" (click)="loginOn= true">כניסה</button>
<app-register *ngIf="registerOn"></app-register>
<app-login *ngIf="loginOn&&!registerOn"></app-login>
解决方案
您可以使用单个属性来避免必须管理多个属性:
<button pButton label="register" (click)="activeComponent='register'">הרשמה</button>
<button pButton label="login" (click)="activeComponent='login'">כניסה</button>
<app-register *ngIf="activeComponent === 'register'"></app-register>
<app-login *ngIf="activeComponent === 'login'"></app-login>
组件.ts
export class MyComponent {
activeComponent = 'login';
}
推荐阅读
- scala - 在 Scala 集合的 .groupBy() 操作中维护顺序
- jquery - 基于项目计数的猫头鹰轮播项目选项
- ios - 我可以提供 iOS 应用更新,但阻止新用户下载应用吗?
- javascript - javascript; 范围有什么关系?
- docker - crond 超时的“docker stop”
- arrays - 如何快速获取数组中值的总和
- java - 私有变量突然为空
- css - 热门使用 ::-webkit-scrollbar 隐藏单向条或竖条?
- http - Phoenix 应用程序中的后台 Elixir 进程在 Cloud Run 中失败
- php - 在表单中保留选择字段的旧值 - Zend Framework 2