2016-09-28 6 views
0
Структуры

файла:Ng-включает в себя не функционирует внутри нг-шаблонов

--app 
    --partials 
    --navbar.html 
--submit 
    --submission.html 
index.html 

У меня есть нг-включать в моей submissions.html:

<ng-include src="'app/partials/navbar.html'" ></ng-include>

Ничто не показывает вверх. Однако, если я вставляю то же самое в index.html, появляется навигационная панель. Я думал, что это может иметь отношение к относительным apths к текущему html-файлу, поэтому я тоже попробовал src="'../partials/navbar.html'".

Есть ли что-то особенное, что нужно сделать, чтобы показать ng-include внутри шаблона ng-view?

Подобные вопросы, которые не помогли:

+0

Вы уверены, что шаблон загружен? Вы используете html5mode в маршрутизации? – charlietfl

+0

@charlietfl шаблон в 'ng-include' даже не загружается, когда' ng-include' находится внутри 'ng-view'. –

+0

, но шаблон будет загружен без него? если это так странно ... но это похоже на то, что маршрут терпит неудачу. Вы можете добавить обработчик ошибок изменения маршрута, чтобы узнать – charlietfl

ответ

0

Угловая не может найти "приложение" в пути каталога. Попробуйте добавить тильду в начале:

<ng-include src="'app/partials/navbar.html'" ></ng-include> 

Должно быть:

<ng-include src="'~/app/partials/navbar.html'" ></ng-include> 
+0

Dave, двойная кавычка необходима для ng-include для работы с путем, когда я передаю путь в виде строки. Без него это вообще не работает. Я уже упоминал, что это работает, только не внутри 'ng-view' –

+0

это неверно.' Src' в этом случае читает выражение ... дополнительная цитата нужна для обозначения строки – charlietfl

+0

О, крики, вы правы. Итак, мое второе подозрение в том, что Angular doc не может «видеть» путь к приложению. Индекс может видеть это, потому что два файла находятся на одном уровне, но, возможно, вам нужна ведущая тильда или слэш: или

0

Вопрос оказался мой кэш браузера в Google Chrome. ng-include не показывался в HTML до тех пор, пока я не очистил свой кеш вручную. Каждый раз, когда ng-include изменяется или перемещается в этом файле, я должен очистить свой кеш, это необязательно, если оно находится в index.html.

После некоторого тестирования эта проблема не существует в Edge, но она существует в Firefox.

Chrome version: 53.0.2785.116 m