Indica la directiva templateUrl relativa a raíz

Actualmente estoy diciendo templateUrl relativas a la ventana actual ubicación.

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

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

});

¿Cómo puedo hacer templateUrl relativa a raíz de la aplicación? Estoy buscando algo como esto:

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

Puede AngularJS lograr esto?

  • Estás tratando de que esta en un servidor web o el sistema de archivos local? En un servidor web que usted podría usar ‘/ruta/a/plantilla’. No hay ningún ‘~’ (home del usuario) en la web de la ruta de resolución.
  • Yo entienda OP no se aclara explícitamente el contexto, pero de lo que puedo ver que está dentro de un ASP.NET aplicación web. Así que el ‘~’ se refiere a la idea de web directorio raíz de la aplicación

4 Kommentare

  1. 81

    Parece que es compatible. Tomado de un hilo sobre AngularJS Grupo de Google:

    la url con «/» prefijo es relativa a la de dominio, sin el «/»
    el prefijo será relativo a la principal («index.html») de la página o url de la base
    (si utiliza la ubicación en el modo html5).

    Esto funciona bien:

    templateUrl: '/Scripts/app/templates/personalDetails.html'
    • Esto funcionó para mí en ASP.NET MVC con la BASE de la etiqueta de una vez me he quitado el slash de la templateUrl valor.
    • Este truco funciona para mí. Él es impresionante.
  2. 15

    Parece que estás tratando de hacer ASP.NET aplicación estilo rutas relativas, pero del lado del cliente. La revisión es en realidad en HTML: agregar una base de etiqueta en la cabeza, como este:

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

    A continuación, mantenga sus rutas de acceso de plantilla en relación a esto, como en

    templateUrl: 'Scripts/app/templates/personalDetails.html'
    • El problema con este enfoque es que cada otra dirección URL relativa en el documento que ahora tiene este prefijo.
  3. 0

    angular 4 uso webpack como bundler.

    ./ means relative path to current folder
    
    
    
    ../ means parent folder

    dominio = src

    root = src/index

    por ejemplo debajo de la aplicación.componente.archivo ts,
    url medios xxx.html xxx.css están en la misma carpeta como 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']
    })

    COMPONENTE DE LAS RUTAS RELATIVAS EN ANGULAR

    • AngularJS y Angular 4 son diferentes de las bibliotecas, y no necesariamente compatibles.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea