Javascript 如何调用Angular 8中启用的按钮上的函数?

Javascript 如何调用Angular 8中启用的按钮上的函数?,javascript,html,angular,angular8,Javascript,Html,Angular,Angular8,下面是我的sign-in.component.html文件的一个片段。我在相应的sign-in.component.ts文件中有一个函数,我想在下面的按钮启用时调用该函数。我希望实现的一个例子: <div class="button-container"> <button mat-raised-button [disabled]="!signInForm.valid" (enabled)="callAFunction()" type="submit">Sign i

下面是我的sign-in.component.html文件的一个片段。我在相应的sign-in.component.ts文件中有一个函数,我想在下面的按钮启用时调用该函数。我希望实现的一个例子:

<div class="button-container">
    <button mat-raised-button [disabled]="!signInForm.valid" (enabled)="callAFunction()" type="submit">Sign in</button>
</div>

登录

要启用按钮的条件是:

signInForm.valid
所以我想你可以加一个

<input type="text" (ngModelChange)="theFunctionYouWantToCallWhenSignInFormIsValid()"/>


这样,只要表单有效,您想要调用的函数就会被触发。

在您的
ngOnInit
函数中,订阅
signinfo.valueChanges
调用
callaffunction()

ngOnInit(){
this.signinfo.valueChanges.subscribe(v=>{
if(this.signinfo.valid){
callAFunction();
}
})
}

如果
callAFunction()
未返回任何内容,则可以执行此操作。这是您可以使用的方法:

<div class="button-container">
    <button mat-raised-button [disabled]="!signInForm.valid" type="submit">Sign in</button>
    {{ signInForm.valid ? callAFunction() : '' }}
</div>
ngOnInit(){
   this.signInSub = this.signInForm.valueChanges.subscribe(val => {
     this.signedIn.vaild ? callAFunction() : '';  
   });
}
ngOnDestroy(){
   this.signInSub.unsubscribe();
}