Próbuję zaktualizować niestandardową dyrektywę w AngularJS - obecnie ma ustalony szablon określony w kodzie (przy użyciu szablonu template: atrybut).
Chciałbym umożliwić użytkownikowi opcjonalne podanie własnego szablonu zamiast tego, używając atrybutu templateUrl:.
Mój problem polega na tym, jak zapewnić awarię - nie mogę używać zarówno szablonu, jak i szablonuUrl w tej samej dyrektywie. Jest to wymagane, aby umożliwić zgodność wsteczną.
Próbowałem użyć funkcji dla templateUrl, ale zwracanie kodu HTML nie jest tam biegaczem.
Jakieś inne sugestie?
Odpowiedzi:
0 dla odpowiedzi № 1Jeśli używasz funkcji w templateUrl, jesteśprzypuśćmy, że podamy „identyfikator szablonu”. Angular najpierw sprawdza pamięć podręczną szablonów, jeśli jej nie znaleziono, próbuje wykonać asynchroniczne żądanie dla zasobu tego samego adresu URL.
Możesz więc po prostu umieścić domyślny szablon w pliku i po prostu zwrócić jego identyfikator jako domyślny.
Nawiasem mówiąc, jeśli używasz templateUrl i html w osobnych plikach, pamiętaj, aby użyć jakiegoś narzędzia, takiego jak https://www.npmjs.com/package/ng-html2js w procesie kompilacji.