Estaba usando ViewChild de la siguiente manera:
@ViewChild("InternalMedia") localStream; @ViewChild("emoji") mEmoji;Que funcionaba bien hasta angular-7.x
tan pronto como lo actualicé a angular-8.x, comenzó a dar el siguiente error
.../call_emoji/component.ts(41,4): error TS2554: Expected 2 arguments, but got 1.Revisé https://angular.io/api/core/ViewChild y cuando lo cambio a
@ViewChild("InternalMedia",{static:false}) remoteStream;Funciona. No entiendo lo que hace la estática y cuál debería ser su valor para trabajar como antes.
De acuerdo con la documentación de Angular, verificaciones estáticas.
si resolver o no los resultados de la consulta antes de que se ejecute la detección de cambios (es decir, devolver solo resultados estáticos). Si no se proporciona esta opción, el compilador volverá a su comportamiento predeterminado, que consiste en utilizar los resultados de la consulta para determinar el tiempo de resolución de la consulta. Si los resultados de alguna consulta están dentro de una vista anidada (p. ej., *ngIf), la consulta se resolverá después de que se ejecute la detección de cambios. De lo contrario, se resolverá antes de que se ejecute la detección de cambios.
Efectivamente, esto determina cuándo se ejecuta la consulta para recuperar el elemento. Si se establece en falso, la consulta se ejecutará después de cualquier detección de cambios. Si se establece en verdadero, se ejecutará inmediatamente.
Para obtener más información y por qué se incluye esta opción, consulte este número de Github .
El comportamiento que probablemente esté buscando es establecer static en false. Esto dará como resultado el comportamiento anterior. Sin embargo, si la vista de su componente no es dinámica (por ejemplo, no usa * ngIf), debería poder establecerlo en verdadero de forma segura.
Después de la migración a Angular 8, debe declarar manualmente si es estático o no
@ViewChild(QuilldEditorComponent, {static: true}) quillEditorComponentInstance;Si tiene más preguntas, pregúntelas o para obtener más detalles, lea este número https://github.com/angular/angular-cli/issues/14553 o eche un vistazo a la documentación oficial https://angular.io/guide/static -consulta-migración
// query results available in ngOnInit @ViewChild('foo', {static: true}) foo: ElementRef; OR // query results available in ngAfterViewInit @ViewChild('foo', {static: false}) foo: ElementRef;