Встроенный `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>