javascript - NgIf 里面点击 Angular

标签 javascript 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 函数。如何根据条件修改现有的点击事件?例如: (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);
    }
}

关于javascript - NgIf 里面点击 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42896604/

相关文章:

css - Angular 2 中的 Angular Material 主题导入在 Webstorm 中不起作用

angular - 类型 'object' 必须有一个返回迭代器的 'Symbol.iterator' 方法

javascript - 使用 React/JSX 生成非 JavaScript 代码

JavaScript 运行完整的 A href 命令

javascript - Chrome 扩展 : How do I get rid of the FOUC?

angular - 将事件从子组件传递到另一个子组件Angular 7

javascript - 坚持使用 Javascript 中的正则表达式

javascript - 在子组件的 ngAfterViewInit() 中调用时,父组件的元素上的 getElementById 返回 null

html - 在不同宽度的图像上将 Div 定位在同一位置

angular - 如何使用 Angular 8 创建 WebOs 智能电视应用程序?