如何区分EventEmitter和事件处理程序方法?

时间:2018-11-14 14:09:31

标签: angular

组件html看起来像这样:

<form nz-form [formGroup]="form" (ngSubmit)="onSubmit()">
  <button nz-button type="button" (click)="cancel()">
    Cancel
  </button>

  <button nz-button type="submit" [nzType]="'primary'">
    Submit
  </button>
</form>

和组件类看起来像这样:

@Component({
  selector: "my-form",
  templateUrl: "./my-form.component.html",
  styleUrls: ["./my-form.component.scss"]
})
export class MyFormComponent {
  constructor(private fb: FormBuilder) {}

  @Output()
  onSuccess: EventEmitter<boolean> = new EventEmitter();
  @Output()
  onCancel = new EventEmitter<void>();

  form: FormGroup = this.fb.group();

  cancel() {
    this.onCancel.emit();
  }

  onSubmit(): void {
    if (formIsValid) {
      this.onSuccess.emit(true);
    }
  }
}

问题是,应如何命名事件发射器和事件处理程序?我可以遵守一些命名约定吗?

cancel 事件由cancel()方法和onCancel事件发射器处理。

1 个答案:

答案 0 :(得分:0)

根据Angular Guide线,不应在输出属性前添加前缀。基本上,event和EventEmitter之间没有任何特定的区别。

有关更多信息,请访问-https://angular.io/guide/styleguide#dont-prefix-output-properties