Указание директивы templateUrl относительно root
в настоящее время я заявляю templateUrl относительно текущего местоположения окна.
cvApp.directive('personalDetails', function () {
return {
restrict: 'A',
templateUrl: '../../Scripts/app/templates/personalDetails.html'
};
});
Как я могу сделать templateUrl относительно корня приложения? Я ищу что-то вроде этого:
templateUrl: '~/Scripts/app/templates/personalDetails.html'
может ли AngularJS выполнить это?
4 ответов:
похоже, что это поддерживается. Взято из поток на AngularJS Google Group:
url-адрес с префиксом " / " относится к домену, без "/" префикс он будет относительно основного ("индекс.HTML-код") страницы или основного URL-адреса (если вы используете location в режиме html5).
Это прекрасно работает:
templateUrl: '/Scripts/app/templates/personalDetails.html'
похоже, что вы пытаетесь сделать ASP.NET стиль приложения-относительные пути, но на стороне клиента. Исправление на самом деле в HTML: добавьте базовый тег в голову, например:
<base href="<%= Request.ApplicationPath %>" />тогда держите ваши пути шаблона относительно этого, как в
templateUrl: 'Scripts/app/templates/personalDetails.html'
угловой 4 Используйте webpack как bundler.
./ means relative path to current folder ../ means parent folderдомен = src
root = src / index
например ниже приложение.деталь.файл TS , url означает xxx.html xxx. css находятся в той же папке, что и xxx. ts
./ is relative path as current folder ../ is relative path as parent folder @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] })
Comments