我正在使用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
}
}
2条答案
按热度按时间nle07wnf1#
问题在于如何将click事件附加到
modal.component.html
中的按钮。您已经在按钮上使用了
onSubmit="onSubmit()"
,但这种语法更类似于传统的JavaScript或普通HTML。在Angular中,你需要使用(click)
绑定到click事件。以下是你应该如何改变你的按钮:
2w3rbyxf2#
应该使用Angular事件绑定语法调用
onSubmit
方法。此外,按钮缺少一个事件。更新
modal.component.html
如下: