it-swarm.com.ru

Указание директивы templateUrl относительно корня

В настоящее время я заявляю templateUrl относительно текущего местоположения окна.

cvApp.directive('personalDetails', function () {

    return {
        restrict: 'A',
        templateUrl: '../../Scripts/app/templates/personalDetails.html'
    };

});

Как сделать templateUrl относительно корня приложения? Я ищу что-то вроде этого:

templateUrl: '~/Scripts/app/templates/personalDetails.html'

Может AngularJS сделать это?

58
Ufuk Hacıoğulları

Похоже, это поддерживается. Взято из темы в AngularJS Google Group :

uRL с префиксом "/" относится к домену, без "/" Префикс будет относительным по отношению к главной ("index.html") странице или базовому URL (если вы используете местоположение в режиме html5).

Это отлично работает:

templateUrl: '/Scripts/app/templates/personalDetails.html'
81
Ufuk Hacıoğulları

Похоже, вы пытаетесь создать относительные к приложению пути в стиле ASP.NET, но на стороне клиента. Исправление на самом деле в HTML: добавьте базовый тег в голову, например так:

<base href="<%= Request.ApplicationPath %>" />

Затем сохраните пути шаблона относительно этого, как в

templateUrl: 'Scripts/app/templates/personalDetails.html'
15
Barnabas Kendall

Используйте «././Scripts/app/templates/personalDetails.html»

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

3
Rajat Faujdar

angular 4 использовать веб-пакет в качестве упаковщика. 

./ means relative path to current folder



../ means parent folder

домен = источник

корень = источник/индекс

например, ниже файл app.component.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']
})

КОМПОНЕНТНО-ОТНОСИТЕЛЬНЫЕ ПУТИ В УГЛОВОЙ

0
hoogw