2013-06-02 9 views
57

Obecnie określam templateUrl w odniesieniu do bieżącego położenia okna.Podawanie szablonu dyrektywyUrl w odniesieniu do katalogu głównego

Jak ustawić templateUrl względem katalogu głównego aplikacji? Szukam czegoś takiego:

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

Czy angularjs osiągnąć ten cel?

+0

starasz to na serwer WWW lub lokalnej f ile system? Na serwerze internetowym wystarczy użyć "/ path/to/template". W ścieżce sieciowej nie ma "~" (domu użytkownika). –

+2

I undestand OP nie wyjaśnił wyraźnie kontekstu, ale z tego, co widzę, że jest w aplikacji internetowej ASP.NET. Tak więc "~" odnosi się do idei * głównego katalogu aplikacji WWW * – superjos

Odpowiedz

77

Wygląda na to obsługiwane. Zrobione z thread on AngularJS Google Group:

URL z przedrostkiem „/” jest w stosunku do domeny bez „/” prefiks będzie względem głównej („index.html”) strona lub baza url (jeśli używasz lokalizacji w trybie html5).

Działa to dobrze:

templateUrl: '/Scripts/app/templates/personalDetails.html' 
+5

To działało dla mnie w ASP.NET MVC z tagiem BASE po usunięciu początkowego ukośnika z wartości templateUrl. – ClearCloud8

+0

Ta wskazówka działa dla mnie. To jest wspaniałe. –

14

Wygląda na to, że próbujesz utworzyć ścieżki w stylu ASP.NET w stylu aplikacji, ale po stronie klienta. Rozwiązaniem jest faktycznie w HTML: dodać tag bazowy w głowę, jak to:

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

Następnie zachować swoje ścieżki szablonu w stosunku do tego, co w

templateUrl: 'Scripts/app/templates/personalDetails.html' 
+0

Problem z tym podejściem polega na tym, że każdy inny względny URL w dokumencie ma teraz ten prefiks. –

3

Wykorzystanie '././Scripts/app/templates/personalDetails.html'

pracował dla mnie.

0

kątowa 4 użyj webpack jako bundler.

./ means relative path to current folder 



../ means parent folder 

domeny = src

korzeń = src/wskaźnik

na przykład poniżej app.component.ts pliku URL oznacza xxx.html xxx.css w tym samym folderze, 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'] 
}) 

COMPONENT-RELATIVE PATHS IN ANGULAR

Powiązane problemy