2017-04-04 131 views
0

所以我在看的角度政党成员和这个家伙解释“ngRoute”以及如何使用它,用这个例子:AngularJS:路由

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

 
myApp.config(function ($routeProvider) { 
 
    $routeProvider 
 
     .when('/', { 
 
      templateUrl: 'pages/home.html', 
 
      controller: 'mainController' 
 

 

 
     }) 
 
     .when('/second', { 
 
      templateUrl: 'pages/second.html', 
 
      controller: 'secondController' 
 

 
     }) 
 

 
}); 
 

 

 
myApp.controller('mainController', ['$scope', '$route', function ($scope, $route) { 
 

 

 

 

 
}]) 
 
    .controller('secondController', ['$scope', '$route', function ($scope, $route) { 
 

 

 

 

 
}]);
<!DOCTYPE html> 
 
<html lang="en" ng-app="myApp"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Document</title> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" type="text/css"> 
 
</head> 
 

 
<body> 
 
    <!-- Fixed navbar --> 
 
    <nav class="navbar navbar-default navbar-fixed-top"> 
 
     <div class="container"> 
 
     <div class="navbar-header"> 
 
      <a class="navbar-brand" href="#">Angular</a> 
 
     </div> 
 
     <div id="navbar" class="navbar-collapse collapse"> 
 
     
 
      <ul class="nav navbar-nav navbar-right"> 
 
      <li><a href="#">Home</a></li> 
 
      <li><a href="#/second">Second</a></li> 
 
      </ul> 
 
     </div> 
 
     </div> 
 
    </nav> 
 

 
    <div class="container"> 
 
     
 
     <div ng-view class="jumbotron"></div> 
 

 
    </div> <!-- /container --> 
 

 

 

 
     
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular-route.js"></script> 
 
    <script src="app.js"></script> 
 
</body> 
 

 

 

 
</html>

,并为他工作,但对我来说,只是首页链接工作,而第二个链接不工作,直到我改变<a href="#/second">Second</a><a href="#!/second">Second</a> 它工作,但我不明白为什么?

+1

它是因为您使用的版本。您观看的视频可能采用角度1.4或1.5。不要去ngRoute,尝试比ngRoute灵活的UI路由器 –

+0

是的我的一个朋友也告诉过它! 谢谢 – damer

回答

1

,你可以确保你不会从内部配置的路由文件具有下面的代码读取...

$ locationProvider.hashPrefix('! “);

+0

是的我认为这就是为什么,它与我使用的角度版本有关 感谢您的帮助 – damer