Angularjs шаблон 404 не найден
Используя angularjs роутинг, иногда получаю
template/home.html Failed to load resource:
the server responded with a status of 404 (Not Found)
Но я объявил template/home.html встроенным
<script type="text/ng-template" id="template/home.html">
...template stuff...
</script>
Неожиданно я не получаю 404 каждый раз, но иногда.
Я уже читал этот стекопоток, где они помнят это правило https://docs.angularjs.org/api/ng/service/$templateCache
Примечание: тег script, содержащий шаблон, не обязательно должен быть включен в заголовок документа, но он должен быть потомком $rootElement (IE, элемент с атрибутом ng-app), в противном случае шаблон будет игнорироваться.
Я объявил свое приложение angularjs без ng-app, но через загрузчик
angular.bootstrap(document, ['myapp']);
Так что мой $ rootElement - это документ. На самом деле я не получаю 404 ошибки каждый раз. Есть ли некоторые условия гонки: иногда $routerProvider устанавливается до того, как $templateCache будет установлен с моим встроенным шаблоном.
Я использую requirejs. Может ли это быть причиной?
Любая помогает?
1 ответ
Я думаю, что вы можете случайно поместить свой скрипт ng-template вне тега, где вы определяете свое основное угловое приложение.
<body ng-app="myApp">
// Your Template shuld stay here
<script type="text/ng-template" id="template/home.html">
...template stuff...
</script>
</body>