Указание директивы templateUrl относительно корня
В настоящее время я указываю templateUrl относительно текущего местоположения окна.
cvApp.directive('personalDetails', function () {
return {
restrict: 'A',
templateUrl: '../../Scripts/app/templates/personalDetails.html'
};
});
Как я могу сделать templateUrl относительно корня приложения? Я ищу что-то вроде этого:
templateUrl: '~/Scripts/app/templates/personalDetails.html'
Может ли AngularJS выполнить это?
Ответы
Ответ 1
Похоже, он поддерживается. Взято из потока в группе Google AngularJS:
URL-адрес с префиксом "/" относится к домену без "/", префикс будет относиться к основной ( "index.html" ) странице или базовому URL-адресу (если вы используете местоположение в режиме html5).
Это отлично работает:
templateUrl: '/Scripts/app/templates/personalDetails.html'
Ответ 2
Похоже, вы пытаетесь сделать пути, связанные с приложением в стиле ASP.NET, но на стороне клиента. Исправление на самом деле находится в HTML: добавьте базовый тег в голову, например:
<base href="<%= Request.ApplicationPath %>" />
Затем сохраните ваши пути шаблона относительно этого, как в
templateUrl: 'Scripts/app/templates/personalDetails.html'
Ответ 3
Используйте '././Сценарии/приложение/шаблоны/personalDetails.html'
это сработало для меня.