2017-09-28 49 views
0

我無法弄清楚爲什麼會發生這種行爲。每次嘗試通過單擊錨點來加載新位置時,都會重定向到根位置。我正在建立我的應用程序在子目錄http://localhost/myapp/。請看下面的代碼。 下面是HTML代碼:每當我加載新的鏈接,它被重定向到我的家庭鏈接角js

<ul class="nav navbar-nav navbar-right"> 
     <li><a href="!#/">Home</a></li> 
     <li><a href="!#/insertLeaveDetails">Insert Leave</a></li> 
     <li><a href="!#/currentYearDetails">Current Year</a></li> 
     </li> 
</ul> 

下面是腳本:

var app = angular.module('leaveApp',['ngRoute']); 

app.config(['$routeProvider',function($routeProvider){ 
    $routeProvider 
    .when('/',{ 
     templateUrl : 'templates/temp.php', 
     controller : 'homeCtrl' 
    }) 
    .when('/insertLeaveDetails',{ 
     templateUrl : 'templates/temp.php', 
     controller : 'insertLeaveDetailsCtrl' 
    }) 
    .when('/currentYearDetails',{ 
     templateUrl : 'templates/temp.php', 
     controller : 'currentYearDetailsCtrl' 
    }) 
    .otherwise({ 
     redirectTo: '/' 
    }); 
}]); 

app.controller('homeCtrl',['$scope',function($scope){ 
    console.log('home ctrl'); 
    $scope.msg = 'This is home ctrl'; 
}]); 

app.controller('insertLeaveDetailsCtrl',['$scope',function($scope){ 
    console.log('insert ctrl'); 
    $scope.msg = 'This is leave ctrl'; 
}]); 

app.controller('currentYearDetailsCtrl',['$scope',function($scope){ 
    console.log('current deatail ctrl'); 
    $scope.msg = 'This is current year ctrl'; 
}]); 
+3

編輯您的href到'HREF = 「#/ insertLeaveDetails」' –

+0

仍然沒有工作 – mia

+1

默認['$ locationProvider.hashPrefix'] (https://docs.angularjs.org/api/ng/provider/$locationProvider)是'!',所以除非你將它設置爲別的東西,否則你應該使用'href =「#!/ insertLeaveDetails」' – Phil

回答

1

$locationProvider.hashPrefix的默認值是 「!」。這意味着,除非你改變供應商價值,你的鏈接應該像

<ul class="nav navbar-nav navbar-right"> 
    <li><a href="#!/">Home</a></li> 
    <li><a href="#!/insertLeaveDetails">Insert Leave</a></li> 
    <li><a href="#!/currentYearDetails">Current Year</a></li> 
</ul> 
相關問題