So wie von Angular 1.1.4, können Sie eine dynamische Vorlagen-URL haben. Von here,Dynamic templateUrl - AngularJS
templateUrl - Wie Vorlage, aber die Vorlage wird von der angegebenen URL geladen. Da das Laden der Vorlage asynchron erfolgt, wird die Kompilierung/Verknüpfung unterbrochen, bis die Vorlage geladen ist.
Sie können templateUrl als eine Zeichenfolge angeben, die die URL oder als eine Funktion darstellt, die zwei Argumente tElement und tAttrs (in der unten beschriebenen Kompilierfunktion api beschrieben) verwendet und einen Zeichenfolgenwert zurückgibt, der die URL darstellt.
Wie kann ich dies verwenden, um eine dynamische Vorlage basierend auf beispielsweise einem Attribut auf meiner Anweisung zu generieren? Offensichtlich funktioniert dies nicht, da tAttrs.templateType ist einfach die Zeichenfolge „Template“
templateUrl: function (tElement, tAttrs) {
if (tAttrs.templateType == 'search') {
return '/b/js/vendor/angular-ui/template/typeahead/typeahead.html'
} else {
return '/b/js/vendor/angular-ui/template/typeahead/typeahead2.html'
}
}
Da ich keinen Zugriff auf den Umfang, wie kann ich das schaffen?
Ab Angular 1.2.17 (und früher möglicherweise), scheint Ihre ursprüngliche Idee zu arbeiten. –