簡體   English   中英

角線(教程)不起作用

[英]Angular Routes (tutorial) not working

我正在跟蹤google的有角度的教程日志(我需要的東西使用不同的名稱),並且我無法在我的一生中正常工作。 如果我從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>

看起來您只需要將ng-app標簽移到body元素上即可。 應用程序的范圍是在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-view div放在ng-app div中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM