Tak jak w Angular 1.1.4, możesz mieć dynamiczny adres URL szablonu. Od here,Dynamic templateUrl - AngularJS
templateUrl - Taki sam jak szablon, ale szablon jest ładowany z podanego adresu URL. Ponieważ ładowanie szablonu jest asynchroniczne, kompilacja/łączenie jest zawieszane do momentu załadowania szablonu.
Można określić templateUrl jako ciąg reprezentujący adres URL lub jako funkcję, która pobiera dwa argumenty tElement i tAttrs (opisane w api api funkcji poniżej) i zwraca wartość ciągu reprezentującego adres URL.
Jak mogę wykorzystać to do wygenerowania dynamicznego szablonu na podstawie, powiedzmy, atrybutu na mojej dyrektywie? Oczywiście to nie zadziała, ponieważ tAttrs.templateType jest po prostu ciąg „templateType”
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'
}
}
Biorąc pod uwagę, że nie mam dostępu do zakresu, w jaki sposób poradzić sobie z tym?
Jak kątowego 1.2.17 (a może wcześniej), oryginalny pomysł wydaje się działać. –