In app.js gibt es eine Menge Dinge. Aber releavant Teile sind:Angular App Route umleiten nach Hause
.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('home.notfound, {
url: '/notfound,
templateUrl: 'modules/main/views/404.html'
})
.state('home.unauthorized', {
url: '/unauth',
templateUrl: '/unauthorized'
});
$urlRouterProvider.otherwise('/home/main');
.run(function ($rootScope, localize, CookieService, $location) {
$rootScope.$on('$stateChangeStart', function(scope, next) {
var userCookie = CookieService.getCookie(Config.loginCookie, true);
if(next.loginRequired){
if(!userCookie){
// Logout user without cookie
$location.path('/login');
}
}
else{
return;
}
Routen werden definiert in Dateien wie: name.route.js
eine Route namens unit.route.js enthält:
define([],function(){
function routeConfiger($stateProvider){
$stateProvider
.state('home.unit', {
url: '/units',
templateUrl: 'unit.html',
controller: 'unitCtrl',
controllerAs: 'unit',
loginRequired:true
});
}
routeConfiger.$inject=['$stateProvider'];
return routeConfiger;
});
Eine Route namens Fall. route.js enthält:
define([],function(){
function routeConfiger($stateProvider){
$stateProvider
.state('home.viewCase', {
url: '/viewcase/:caseId',
templateUrl: 'case-view.html',
controller: 'caseViewCtrl',
controllerAs: 'caseView',
loginRequired:true
})
Nun, wenn ich einen Browser öffnen und geben
http://localhost/home/units/
dann sehe ich die Seite unit.html.
Wenn ich jedoch
http://localhost/home/viewcase/50/
irgendwo geben, nimmt eine Umleitung über und leiten Sie die Seite
http://localhost/home/main
Wenn von Haupt-Seite, ich auf einen Link klicken, die einen ng-Klick hat wie folgt aus:
$state.go("home.viewCase", { caseId: '50' });
Dann wird eine „lokale“ Umleitung erfolgt und die Seite geht an
case-view.html
Ich bin nicht in der Lage zu verstehen, was nicht mehr direkt zum Viewcase geht: ID.
Warum funktioniert es für die Route "Einheiten", aber nicht für die Route "Fall"?
mmm hast du kein abstraktes: echtes Routing für .home? –
Nein. Ich konnte im Projekt keinen Hinweis auf "Abstrakt" finden. – oderfla
mmm sieht wirklich komisch aus ... was ist, wenn Sie versuchen, in den app.js Dateien etwas hinzuzufügen wie: $ stateProvider .state ('home, { url:'/home, Zusammenfassung: true, templateUrl: 'Module/main/views/common.html ' }) –