繁体   English   中英

NgIf在内部单击Angular

[英]NgIf inside click Angular

嗨,我有以下按钮:

<button *ngFor="let btn of _formBtn" [type]="(btn.type=='submit')?'submit':'button'" 
            class="btn btn-icon" 
            [ngClass]="btn.class" 
            (click) = "_btnClick(btn, _finalConfig, _formBtn)" 
            [disabled]="btn.disabled"
            [hidden]="btn.hidden">
            <i *ngIf="btn.BtnType!='next'" [class]="btn.icon"></i>
            <span>{{btn.label}}</span>
            <i *ngIf="btn.BtnType=='next'" [class]="btn.icon"></i>
        </button>

工作正常。 但是现在我想修改逻辑,以便每当btn.label被“确认”时,我想调用另一个函数而不是_btnClick函数。 如何根据条件修改现有的点击事件? 例如ex: (click) = *ngIf="btn.label=='confirmed'"? _confirmBtnClicked(btn, _finalConfig, _formBtn) : "_btnClick(btn, _finalConfig, _formBtn);" (click) = *ngIf="btn.label=='confirmed'"? _confirmBtnClicked(btn, _finalConfig, _formBtn) : "_btnClick(btn, _finalConfig, _formBtn);" 我是一个安静的困惑的家伙。 知道该怎么做吗? 还是针对我的方案的其他更好建议? 在此先感谢大家。

您可以调用另一个方法来检查是否相同,例如:

(click) = "_confirmedClick()" 

然后在您的组件中:

public _confirmedClick(){
    if(this.btn.label === "confirmed"){
        this._confirmBtnClicked(this.btn, this._finalConfig, this._formBtn);
    }else{
        this._btnClick(this.btn, this._finalConfig, this._formBtn);
    }
}

创建一种类似clickMe()方法,并在其中传递btn.label 然后根据标签,您可以再次基于btn.label的值调用不同的方法

维诺德

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM