¿Qué son los proveedores de vistas en Angular? ¿Y cuál es la diferencia entre proveedores de b / n y proveedores de vistas?

Vikram Babu Nagineni:

¿Qué es viewProviders en el siguiente código? ¿Y en qué se diferencia de los proveedores?

class Greeter {
   greet(name:string) {
     return 'Hello ' + name + '!';
   }
}    
@Component({
  selector: 'greet',
  viewProviders: [
    Greeter
  ],
  template: `<needs-greeter></needs-greeter>`    
})
class HelloWorld {
}
Mark Zamoyta:

En su ejemplo, no hay diferencia entre proveedores y viewProviders porque la plantilla de HelloWorld no usa <ng-content>. Si estaba proyectando contenido dentro <ng-content>...</ng-content>, Greeter no podría inyectarse en el contenido proyectado porque está usando

viewProviders: [Greeter] 

Si quisiera que Greeter se inyectara potencialmente en el contenido proyectado, usaría

providers: [Greeter]

Por lo tanto, viewProviderslimita el proveedor a niños que no sean contenidos proyectados, mientras que providerspermite que todos los niños usen el proveedor. El valor es que le viewProviderspermite evitar que el contenido proyectado interfiera con sus servicios, lo que podría ser especialmente útil en las bibliotecas.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

TOP Lista

CalienteEtiquetas

Archivo