Встроенный `ng-template` не найден`ng-include`

У меня есть вид загружается со встроенным text/ng-template который не найден ng-include позже в файле. Блок скрипта находится в самом верху файла представления:

<script type="text/ng-template" id="stringCondition">
    <!-- template guts -->
</script>

Который я загружаю позже в файл с:

<ng-include src="'stringCondition'"></ng-include>

Но выдает ошибку 404 в консоли:

GET http://localhost/~me/stringCondition 404 (Not Found)

Я пробовал несколько вариантов именования (например, наличие.html в конце) и использование ng-include в качестве атрибута вместо элемента высокого уровня. Все без удачи.

Что может быть причиной встраивания ng-template не регистрироваться с ng-include в том же файле просмотра?

ОБНОВИТЬ:

Как уже отмечалось в комментариях и ответах, базовый дизайн моего кода правильный. Но что-то вызывает ng-template (по-видимому) не сделать шаблон доступным для системы.

Я обновил свой код для извлечения из файла HTML (вместо встроенного шаблона), и он работает нормально.

Есть ли общая ситуация, с которой я мог бы столкнуться ng-template?

2 ответа

<div ng-app>
  <script type="text/ng-template" id="stringCondition">
     Yes, yes it did.
  </script>
  Did it work? <ng-include src="'stringCondition'"></ng-include>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

У меня была такая же проблема и наткнулся на этот пост. Теперь я могу видеть, что вызывает эту проблему, так что, надеюсь, это поможет кому-либо еще с этой проблемой.

Причина того, что код rgthree работает, заключается в том, что тег script для text / ng-template должен находиться в рамках ng-app. Поэтому хорошо иметь шаблон в отдельном файле.js, но просто убедитесь, что когда он отображается на HTML-странице, он находится внутри ng-app, иначе angular не узнает об этом и попытается загрузить его из сервер.

Кажется, работает нормально для меня. Возможно, у вас есть что-то еще за пределами вашего примера кода.

<div ng-app>
  <script type="text/ng-template" id="stringCondition">
     Yes, yes it did.
  </script>
  Did it work? <ng-include src="'stringCondition'"></ng-include>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>