webentwicklung-frage-antwort-db.com.de

Angabe der Direktive templateUrl relativ zu root

Ich sage derzeit templateUrl relativ zum aktuellen Fensterort.

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

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

});

Wie kann ich templateUrl relativ zum Stammverzeichnis der Anwendung erstellen? Ich suche so etwas:

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

Kann AngularJS das schaffen?

58

Sieht aus wie es unterstützt wird. Entnommen aus einem Thread in der AngularJS Google Group :

die URL mit dem Präfix "/" ist relativ zur Domäne ohne "/".__". Das Präfix wird relativ zur Hauptseite ("index.html") oder zur Basis-URL .__ angegeben. (wenn Sie location im html5-Modus verwenden).

Das funktioniert gut:

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

Sieht aus, als würden Sie versuchen, app-relative Pfade im ASP.NET-Stil, jedoch clientseitig auszuführen. Das Update ist eigentlich in HTML: Fügen Sie im Kopf ein Basis-Tag hinzu:

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

Behalten Sie dann Ihre Vorlagenpfade relativ dazu bei, wie in

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

Verwenden Sie '././Scripts/app/templates/personalDetails.html'

es hat für mich funktioniert.

3
Rajat Faujdar

eckig 4 ​​webpack als bundler verwenden. 

./ means relative path to current folder



../ means parent folder

domain = src

root = src/index

zum Beispiel unter der Datei app.component.ts bedeutet url, dass xxx.html xxx.css sich im selben Ordner wie xxx.ts befindet

./ is relative path as current folder

../ is relative path as parent folder

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})

KOMPONENTEN-RELATIVE WEGE IM WINKEL

0
hoogw