2016-06-10 19 views
2

Ich schreibe eine einfache Produktinformationsmanagement App mit eckigen js. Um meine App so modular wie möglich zu halten, habe ich sie in mehrere Module mit einem Modul "pim" als Startpunkt aufgeteilt. Für jedes Modul möchte ich eine andere Route haben, so dass es einfach ist, ein neues Modul anzuschließen oder es zu entfernen, ohne eine riesige Route in der Pim-Modul-Konfiguration beibehalten zu müssen.

Zur Zeit habe ich zwei Routen (die erste Route):

(function(){ 
angular 
    .module("pim") 
    .config(router) 

function router($routeProvider){ 
    $routeProvider 
     .when("/",{ 
      templateUrl: "view/info.html", 
      controller: "pimController" 
     }) 
     .when("/info",{ 
      templateUrl: "view/info.html", 
      controller: "pimController" 
     }) 
     .when("/alcohol",{ 
      templateUrl: "view/alcohol.list.html", 
      controller: "alcoholController" 
     }); 
    } 
})(); 

Der zweite Weg

(function(){ 
angular 
    .module("alcohol") 
    .config(router) 

function router($routeProvider){ 
    $routeProvider 
     .when("/alcohol/list",{ 
      templateUrl: "view/alcohol.list.html", 
      controller: "alcoholController" 
     }) 
     .when("/alcohol/info",{ 
      templateUrl: "view/alcohol.info.html", 
      controller: "alcoholController" 
     }); 
    } 
})(); 

Wie Sie sehen können/Alkohol hat eine templateUrl und eine Steuerung, das gleiche wie/Alkohol/list, aber ich möchte wissen, ob es eine einfache (Standard) Möglichkeit gibt, zu einer anderen URL zu wechseln, zum Beispiel/alkohol/list, so dass ich TemplateUrl und Controller nicht wiederholen muss und diese Information im Alkoholmodul behalten muss, wo es hingehört.

Zum Beispiel

.when("/alcohol",{ 
    routeTo: "/alcohol/list" 
}) 

Vielen Dank für Ihre Hilfe

GELÖST

besteht die Möglichkeit, umleiten, schaute nicht in der $ routeProvider Dokumentation gut genug:

.when("/alcohol",{ 
    redirectTo:"/alcohol/list" 
}); 

Der Code oben funktioniert

Antwort

4

Sie können $routeProvider 's redirectTo Routenkarte verwenden.

.when("/alcohol", { 
    redirectTo: "/alcohol/list" 
}); 

mehr lesen: https://docs.angularjs.org/api/ngRoute/provider/$routeProvider

+0

Ich würde sagen Sie es gelöst, aber ich bin nicht sicher, ob Sie zum ersten Mal meine Lösung gelesen und kopiert es dann. Ich werde sagen, dass es nützlich ist. – DemanB

+0

Nein, ich habe die Dokumente gelesen und gefunden :) Es ist nur ein Zufall, dass wir es gleichzeitig gefunden haben. –

Verwandte Themen