html 在Angular 模式下单击时,按钮的单击不起作用

w6lpcovy  于 2023-10-14  发布在  Angular
关注(0)|答案(2)|浏览(181)

我正在使用angular中的模态弹出窗口,其中涉及模态弹出窗口中的提交按钮。来自父组件的模态弹出调用。我有点击事件的按钮,这是提交按钮,但它没有得到触发。它应该记录当我点击提交按钮。

父html

<p>Start editing to see some magic happen :)</p>
 <button (click)="openModal(modal)" >open modal</button>
 <app-modal #modal [active]="isActive"> </app-modal>

modal. component. html//子组件

<div [hidden]="!active">
  
    <div class="modal-background">
    </div>
  
    <div  class="modal">
      <div class="modal-body">
       <h1>algun titulo</h1>
       <p>algun contenido</p>
       <button onSubmit="onSubmit()">
         Submit
       </button>
      </div>
    </div>
  
  </div>

modal.component.ts(子组件)

import { Component, OnInit, Input } from '@angular/core';

@Component({
  selector: 'app-modal',
  templateUrl: './modal.component.html',
  styleUrls: [ './modal.component.css' ]
})
export class ModalComponent implements OnInit {
  @Input() active: boolean ;

  ngOnInit() {
   
  }

  openModal(value) {
    value.active = true
  }

  onSubmit(){
    debugger;
    console.log('submit--->');
  }

  closeModal(value) {
    value.active = false
  }

}
nle07wnf

nle07wnf1#

问题在于如何将click事件附加到modal.component.html中的按钮。
您已经在按钮上使用了onSubmit="onSubmit()",但这种语法更类似于传统的JavaScript或普通HTML。在Angular中,你需要使用(click)绑定到click事件。
以下是你应该如何改变你的按钮:

<button (click)="onSubmit()">Submit</button>
2w3rbyxf

2w3rbyxf2#

应该使用Angular事件绑定语法调用onSubmit方法。此外,按钮缺少一个事件。
更新modal.component.html如下:

<div [hidden]="!active">
  <div class="modal-background"></div>
  <div class="modal">
    <div class="modal-body">
      <h1>algun titulo</h1>
      <p>algun contenido</p>
      <button (click)="onSubmit()">
        Submit
      </button>
    </div>
  </div>
</div>

相关问题