装饰器

toBoolean, @InputBoolean

转换 boolean 属性,其中 @InputBoolean() 可以强化布尔属性绑定的体验,例如:

@Input() @InputBoolean() disabled = false;

以下调用方法都会认为是有效:

<test disabled></test> // true
<test disabled="true"></test> // true
<test [disabled]="true"></test> // true
<test disabled="false"></test> // false
<test [disabled]="false"></test> // false

toNumber, @InputNumber

转换 number 属性,其中 @InputNumber() 可以强化数字属性绑定的体验,例如:

@Input() @InputNumber() count = 10;

以下调用方法都会认为是有效:

<test count="1"></test> // 1
<test [count]="1"></test> // 1

@ZoneOutside

装饰方法运行在 runOutsideAngular 内。

class MockClass {
  constructor(public ngZone: NgZone) {}

  @ZoneOutside()
  run(): void {}
}

@ZoneRun

装饰方法运行在 run 内。

class MockClass {
  constructor(public ngZone: NgZone) {}

  @ZoneRun()
  run(): void {}
}