angular-cn/packages/core/schematics/migrations/dynamic-queries
crisbeto f5982fd746 feat(core): add dynamic queries schematic (#32231)
Adds a schematic that will remove the explicit `static: false` flag from dynamic queries. E.g.

```ts
import { Directive, ViewChild, ContentChild, ElementRef } from '@angular/core';

@Directive()
export class MyDirective {
  @ViewChild('child', { static: false }) child: any;
  @ViewChild('secondChild', { read: ElementRef, static: false }) secondChild: ElementRef;
  @ContentChild('thirdChild', { static: false }) thirdChild: any;
}
```

```ts
import { Directive, ViewChild, ContentChild, ElementRef } from '@angular/core';

@Directive()
export class MyDirective {
  @ViewChild('child') child: any;
  @ViewChild('secondChild', { read: ElementRef }) secondChild: ElementRef;
  @ContentChild('thirdChild') thirdChild: any;
}
```

PR Close #32231
2019-09-11 19:14:03 -04:00
..
BUILD.bazel feat(core): add dynamic queries schematic (#32231) 2019-09-11 19:14:03 -04:00
README.md feat(core): add dynamic queries schematic (#32231) 2019-09-11 19:14:03 -04:00
index.ts feat(core): add dynamic queries schematic (#32231) 2019-09-11 19:14:03 -04:00
util.ts feat(core): add dynamic queries schematic (#32231) 2019-09-11 19:14:03 -04:00

README.md

Dynamic queries migration

Automatically migrates dynamic queries to remove their static flag. This flag will no longer be necessary in version 9 for dynamic queries, as false is the default value.

Before

import { Directive, ViewChild, ContentChild, ElementRef } from '@angular/core';

@Directive()
export class MyDirective {
  @ViewChild('child', { static: false }) child: any;
  @ViewChild('secondChild', { read: ElementRef, static: false }) secondChild: ElementRef;
  @ContentChild('thirdChild', { static: false }) thirdChild: any;
}

After

import { Directive, ViewChild, ContentChild, ElementRef } from '@angular/core';

@Directive()
export class MyDirective {
  @ViewChild('child') child: any;
  @ViewChild('secondChild', { read: ElementRef }) secondChild: ElementRef;
  @ContentChild('thirdChild') thirdChild: any;
}