¿Cómo puedo tener templateUrl dinámico para componente Angular2?
Quería cargar componentetemplateUrl
basado en el valor pasado del componente padre. Sé que se puede pasarproperty binding
a componente por tener@Input
, Di ejemplo a continuación en el quemyHtml
será aprobado comotemplateName
.
Pero no hay posibilidad de acceder@Input
valor dentrotemplateUrl
función. Yo creo quetemplateUrl
es lo primero que se va a evaluar al pedir HTML, luego se ejecuta el resto del código del componente.
Al igual que en angular 1 tiene la capacidad de pasar algún valor del atributo, y luego puedo usar ese valor dentrotemplateUrl
Funcionar como un parámetro como a continuación.
templateUrl: function(element, attrs){
//was getting value
return '/app/templates/'+ attrs.myTemplateName + '.html'
}
Pero lo mismo que no puedo hacer en Angular2, comotemplateUrl
está fuertemente tipado comostring
entonces no toma la función como un atributo.
Hay una manera de lograr estoO Me perdí algo simple?
Editar
Ya he miradoesta respuesta que no es lo que quiero En la respuesta referida, renderiza DOM usandoDynamicComponentLoader
que carga otro componente.
Esto no es lo que quería, porque crear un nuevo componente separado para tener diferentestemplateUrl
no tiene sentido en el caso mío.
¿Alguna idea de cómo implemento esto?