Указание директивы 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'

это сработало для меня.