(change) vs (ngModelChange) 在 Angular 中:区别与选择
大家好!我是 Angular 和 TypeScript 的新手。我正在学习表单和数据输入。我遇到了两个类似的事件:`(change)` 和 `(ngModelChange)`。它们都在 `` 值改变时触发,但行为略有不同。
例如,我有一个简单的组件,包含一个输入字段和通过 `[(ngModel)]` 实现的双向绑定:
```typescript
import { Component } from '@angular/core';
@Component({
selector: 'app-user-input',
template: `
当前值: {{ userName }}
` }) export class UserInputComponent { userName: string = ''; onChange(): void { console.log('change event:', this.userName); } onModelChange(value: string): void { console.log('ngModelChange event:', value); } } ``` 我注意到: 1. `(change)` 仅在失去焦点(blur)时触发,而 `(ngModelChange)` 在每次值变化时立即触发。