如何在Angular中有条件地触发click事件? [重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

编辑:下面的代码是简化的,禁用的属性将无济于事。我有一个表单,当我根据它的成功或失败提交它时,我希望模型弹出 - 仅当表单值正确时。模态按钮应与提交表单按钮组合

javascript angular bootstrap-modal
2个回答
0
投票

在.ts文件中

export class ClassName{
  allowButton = false;

onConditionApply() {
    if (2 + 3 > 1) {
      allowButton = true;
    }
   }
  }

在Html文件中。

<button type="button" class="btn btn-primary" [disabled]="allowButton" data-toggle="modal" data-target="#myModal">Open modal</button>

0
投票

如何在HTML文件本身中拥有一个条件。

<button type="button" (click)="(2+3 > 1) && onConditionApply()">trigger here!</button>

它基本上是一种标准的JavaScript样式代码。


根据编辑问题回答

我仍然不清楚这个问题。但是,让我试一试。

formSubmitted() {
    this.httpClient.post().subscribe(
        (response) => {
            // Make Show Modal button enabled/Unhide Modal show button.
            // Trigger Modal button to show popup
        });
}

基本上我假设表单提交是异步调用,然后只是订阅它并做成功回调。

关于“只有表格价值是正确的”,

<div #f="ngForm"></div>
<button [disabled]="f.invalid"></button>

上面我只是尝试根据表单有效性状态启用/禁用按钮。如果需要在组件ts文件中访问此值,则需要在TS文件中添加@ViewChild() f,并且可以以相同方式访问事物。

它可能无法直接回答您的问题(因为我不清楚具体要求是什么),但可能会指出正确的方向。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.