我正在使用登录页面构建Angular应用程序。登录页面包含以下元素:
首先,应显示login form
。当您单击forgot my password
链接时,登录表单将消失,并且应显示password forgot form
,用户可以在其中输入其电子邮件地址并按下按钮以请求新密码。接下来,向用户显示password forgot acknowledge message
,其中包含说明接下来会发生什么的文本。
当用户点击通过电子邮件发送的链接时,他会再次被重定向到登录页面并显示password reset form
,在那里他可以输入所需的密码。
我目前所做的是在login.component.html page
中连续写入所有div。默认情况下,除login form
使用(example) *ngIf="forgotpassword" [@fadeInOutRight]
外,所有内容均已隐藏。然后,基于点击页面上的按钮或链接,使用角度动画动态地进出屏幕。
我想知道这是不是很好的做法,还是应该使用其他任何技术来动态更改页面内容。
非常感谢任何提示。
谢谢!
答案 0 :(得分:0)
您应该将路由用于您描述的目的。看看https://angular.io/guide/router
至少我会如何做到这一点。它有许多优点:
答案 1 :(得分:0)
首先ngIf可以做到这一点,你也可以考虑使用[hidden]属性。不同之处在于ngIf,您可以在DOM中创建和删除元素,而使用[hidden]属性则可以隐藏它们。但只要您的用户不会将垃圾邮件从一种表单切换到另一种表单,我认为使用ngIf就可以了。
我建议您在组件中拆分登录页面。例如,一个用于登录表单本身,另一个用于密码忘记表单等... 这样,当用户单击忘记密码按钮时,您只需将她/他指向相应的组件。
希望有所帮助