2014-01-08 162 views
1

我跟隨谷歌的角度教程日誌(不同的名字我需要的東西),我不能讓路由正確地爲我的生活工作。如果我參加了#出來的HREFs的,我會得到一個「無法得到」錯誤」。對於#,該URL的變化,但沒有任何反應。角度路線(教程)不起作用

controllers.js

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

AppControllers.controller('homeCtrl', ['$scope', '$http', 
    function($scope, $http){ 
    $http.get('javascripts/apprentices.json').success(function(data){ 
     $scope.apprentices = data; 

    }); 
    $scope.orderProp = 'semester'; 
}]); 

AppControllers.controller('apprenticeCtrl',['$scope', '$routeParams', 
    function($scope, $routeParams) { 
console.dir('hi'); 
     $http.get('javascripts/person.json').success(function(data) { 
     // $scope.apprentices = data; 
     }); 
    }]); 

app.js

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

App.config(['$routeProvider', 
    function($routeProvider) { 
    $routeProvider. 
    when('/apprentices', { 
     templateUrl: 'views/apprentice.html', 
     controller: 'apprenticeCtrl' 
     }). 
     otherwise({ 
     templateUrl:'../views/home/index.html', 
       redirectTo: '/asfsfsf' 
     }); 
    }]); 

的index.html

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title></title> 
    <link rel="stylesheet" href="/stylesheets/style.css"> 
    <script src="javascripts/angular/angular.js"></script> 
    <script src="javascripts/angular/angular-route.js"></script> 
    <script src="javascripts/app.js"></script> 
    <script src="javascripts/controllers.js"></script> 
    <body> 
     <div ng-app="App"> 
     <div ng-controller="homeCtrl"> 
      code 
     </div> 
     <div ng-view></div> 
    </body> 
    </head> 
</html> 
+2

具有'ng-app'標記的元素必須包含'

',以便'ngRoute'工作 – Daiwei

回答

2

看起來像你只需要移動NG-app標記到身體的元素。的範圍應用程序是在NG-app元素定義,而不是它的兄弟姐妹:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title></title> 
    <link rel="stylesheet" href="/stylesheets/style.css"> 
    <script src="javascripts/angular/angular.js"></script> 
    <script src="javascripts/angular/angular-route.js"></script> 
    <script src="javascripts/app.js"></script> 
    <script src="javascripts/controllers.js"></script> 
    <body ng-app="App"> 
     <div> 
     <div ng-controller="homeCtrl"> 
      code 
     </div> 
     <div ng-view></div> 
    </body> 
    </head> 
</html> 

另一種辦法是把NG-視圖DIV的NG-應用DIV中如果需要的話。

+0

解決了我最初的錯誤,謝謝。現在它告訴我當路由改變時404無法找到我的文件。 GET http:// localhost:3000/views/apprentice.html 404(Not Found) – NoobException

+0

我不知道你的目錄結構,但它看起來像你的templateUrls你有'''views/apprentice.html'''爲徒弟這與index.html的'''../ views /''不同。 –