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>
Другие вопросы по тегам