Wie kann ich eine dynamische templateUrl für Angular2 Component haben?

Ich wollte Komponente ladentemplateUrl basiert auf dem von der übergeordneten Komponente übergebenen Wert. Ich weiß, dass es passieren kannproperty binding zur Komponente von have@Input, Ich habe unten ein Beispiel angegeben, in demmyHtml wird als @ übergebtemplateName.

.Aber es gibt keine Möglichkeit, auf @ zuzugreif@Input value insidetemplateUrl Funktion. Meiner Ansicht nachtemplateUrl wird als erstes ausgewertet, indem nach HTML gefragt wird. Danach wird der gesamte andere Komponentencode ausgeführt.

Wie in Winkel 1 hat die Fähigkeit, einen Wert von Attribut zu übergeben, und dann kann ich diesen Wert innerhalb von @ verwendtemplateUrl Funktion als Parameter wie unten.

templateUrl: function(element, attrs){
    //was getting value
    return '/app/templates/'+ attrs.myTemplateName + '.html'
}

Aber das Gleiche, was ich in Angular2 nicht machen kann, wietemplateUrl ist stark als @ geschriebstring so nimmt es keine Funktion als Attribut an.

ibt es einen Weg, dies zu erreicheODE Ich habe etwas Einfaches verpasst?

Bearbeite

Hab ich mir schon angeschautdiese Antwort das ist nicht was ich will. In der angegebenen Antwort wird DOM mit @ gerenderDynamicComponentLoader lädt eine andere Komponente.

Das ist nicht das, was ich wollte, weil das Erstellen einer neuen separaten Komponente für unterschiedlichetemplateUrl macht in meinem Fall keinen Sinn.

Wie kann ich das umsetzen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage