recargar pasar parametros entre ejemplo datos comunicacion componentes componente angular router

pasar - En Angular2 RC4, ¿cómo agrego componentes a la matriz de precompilación?



pasar parametros entre componentes angular 4 (5)

Acabo de actualizar mi proyecto Angular2 a RC4 y el enrutador ahora está enviando este mensaje de advertencia en la consola cuando abro mi aplicación:

router.umd.js:2466 ''FrontpageComponent'' not found in precompile array. To ensure all components referred to by the RouterConfig are compiled, you must add ''FrontpageComponent'' to the ''precompile'' array of your application component. This will be required in a future release of the router.

Intenté averiguar qué es exactamente lo que tengo que hacer para solucionarlo, pero como la documentación es escasa, no puedo encontrar una respuesta. ¿Qué es este conjunto de precompilación y dónde puedo encontrarlo o cómo lo agrego?


Como he observado, si he definido el componente con el ''redireccionamiento'' en la configuración de la ruta, entonces el componente debe definirse ''precompilar'' también en la aplicación raíz.


No hay necesidad de definir en directivas. Usa el siguiente código

@Component({ selector: ''...'', template: ''...'', directives: [], precompile: [FrontpageCmponent] })


Debe agregar su componente a la matriz de precompilación en los metadatos del componente de su aplicación para deshacerse de ese mensaje.

@Component({ selector:''my-app'', template:`YOUR HTML <router-outlet></router-outlet>` ,styleUrls:[''app/app.component.css''] ,directives:[ROUTER_DIRECTIVES] ,providers:[YOURPROVIDERS] ,precompile:[YOURCOMPONENT]}) export class AppComponent{}


Si actualiza su "@ angular / enrutador": "3.0.0-beta.1" a "@ angular / enrutador": "3.0.0-beta.2". Luego se resolverá la advertencia.


En las versiones de enrutador más nuevas, esto ya no debería ser necesario.

<= RC.4

Es solo un parámetro adicional para el @Component() o @Directive() :

@Component({ selector: ''...'', template: ''...'', directives: [FrontpageComponent], precompile: [FrontpageCmponent] })

https://github.com/angular/angular/blob/6c5b653593eff19c5b9342b2cf0195aca49379cb/modules/%40angular/core/src/metadata/directives.ts#L968

/ **
* Define los componentes que deben precompilarse también cuando
* este componente está definido. Para cada componente enumerado aquí,
* Angular creará un {@link ComponentFactory ComponentFactory} y lo almacenará en
* {@link ComponentFactoryResolver ComponentFactoryResolver}.