我正在Angular 2应用程序中构建一个表单.
Html给了我提交事件.在Angular中,我可以使用(submit)事件绑定来监听此事件.最重要的是,Angular使用(ngSubmit)添加了我可以听到的ngSubmit事件.
我知道提交来自html,而来自Angular的ngSubmit.我不明白为什么我需要听一个特殊的ngSubmit事件,而不是正常的提交事件.
我创建了一个侦听这两个事件的plunker,两者似乎都在做同样的事情.
听(提交)和(ngSubmit)有什么区别?
@Component({
selector: 'my-app',
template: `
<form (submit)='onSubmit(form)' (ngSubmit)='onNgSubmit(form)' novalidate #form='ngForm'>
<input type='text' name='input' [(ngModel)]='input' required>
<input type='submit' value='Submit' required>
</form>
`,
})
export class App {
input : string;
onSubmit(form): void {
console.log(`submit: ${this.input}, valid: ${form.valid}`);
}
onNgSubmit(form): void {
console.log(`ng-submit: ${this.input}, valid: ${form.valid}`);
}
}
Run Code Online (Sandbox Code Playgroud) angular ×1