我一打开页面就打开 Clarity Wizard
Clarity Wizard open without as soon as I open the page
所以我有一个带有提交按钮的登录页面,只要用户名和密码正确,该按钮就会加载一个新页面。
这工作正常,但在下一页我想要弹出一个向导。
我正在使用 Angular + VMWare Clarity。
问题是,如果我输入:
<button [disabled]="loading" class="btn btn-primary" (click)="wizard.open()">
Login
</button>
这将重定向到向导,而不先进行身份验证。所以如果用户名和密码不正确也没关系。
你知道还有什么方法可以在表单提交正确后弹出向导吗?或者,如果我可以以某种方式在表单提交后弹出向导而不需要按钮功能?
因此您的 (click)="wizard.open()"
事件处理程序在单击按钮时触发,而不是在表单响应后触发。这不是 Clarity 特有的,只是 JavaScript 中事件的逻辑顺序。点击几乎总是在收到响应之前触发,因此您希望在收到响应时打开向导。
有两种基本方法。 1) 在输入绑定中设置打开状态或 2) 获取向导组件并以编程方式调用打开方法。
您的向导应该将 [(clrWizardOpen)]
绑定设置为一个值,例如 <clr-wizard [(clrWizardOpen)]="wizardState">
。当您处理您的回复时,您可以设置this.wizardState = true
来触发向导打开。
在您的控制器中,您可以使用 @ViewChild(ClrWizard) wizard: ClrWizard;
在您的控制器上设置一个 属性 以引用该向导。然后在您的响应处理程序中,您可以执行 this.wizard.open()
打开它。
所以我有一个带有提交按钮的登录页面,只要用户名和密码正确,该按钮就会加载一个新页面。 这工作正常,但在下一页我想要弹出一个向导。
我正在使用 Angular + VMWare Clarity。
问题是,如果我输入:
<button [disabled]="loading" class="btn btn-primary" (click)="wizard.open()">
Login
</button>
这将重定向到向导,而不先进行身份验证。所以如果用户名和密码不正确也没关系。
你知道还有什么方法可以在表单提交正确后弹出向导吗?或者,如果我可以以某种方式在表单提交后弹出向导而不需要按钮功能?
因此您的 (click)="wizard.open()"
事件处理程序在单击按钮时触发,而不是在表单响应后触发。这不是 Clarity 特有的,只是 JavaScript 中事件的逻辑顺序。点击几乎总是在收到响应之前触发,因此您希望在收到响应时打开向导。
有两种基本方法。 1) 在输入绑定中设置打开状态或 2) 获取向导组件并以编程方式调用打开方法。
您的向导应该将
[(clrWizardOpen)]
绑定设置为一个值,例如<clr-wizard [(clrWizardOpen)]="wizardState">
。当您处理您的回复时,您可以设置this.wizardState = true
来触发向导打开。在您的控制器中,您可以使用
@ViewChild(ClrWizard) wizard: ClrWizard;
在您的控制器上设置一个 属性 以引用该向导。然后在您的响应处理程序中,您可以执行this.wizard.open()
打开它。