Extender un componente PrimeNg dentro de Angular2
Debido a algunos casos de uso, necesito extender un componente PrimeNG en Angular2. Para propósitos de prueba, elegí usar elDataTable
ya que es bastante complicado.
Después de copiar literalmente pegar el@Component
Anotación, he añadido:
export class PPDataTable extends DataTable {}
En este punto me sale el siguiente error:No provider for DataTable
. Si agregoDataTable
alproviders
matriz en la anotación, el contenido de miDataTable
esta vacio.
Por lo tanto, intenté agregar:{ provide: DataTable, useValue: PPDataTable }
que produce algunos errores como:TypeError: co.dt.isSorted is not a function
. Traté de iniciar sesiónthis.isSorted
en la nueva clase y existe.
¿Cómo extiendo algo como esto?
Además, ¿tiene alguna solución mejor para cambiar el nombre del selector de un componente PrimeNg (envolverlo de alguna manera)?
Editar
Después de mirar un poco más a través de la pila de depuración, encontré esto:
Parece que en lugar de proporcionar directamente el objeto, estoy proporcionando una matriz que contiene el objeto y esta es (según mi suposición) la causa del error. Si voy en el código fuente y lo cambio adt[0].isSorted()
¡funciona!
¿Cómo proporciono el objeto directamente?
Responder
Parece que si proporciono{ provide: DataTable, useExisting: PPDataTable }
funciona.