此路由代码无效

时间:2016-12-17 21:29:17

标签: angularjs

此代码无法正常运行

<script>
var app = angular.module('myApp', ['ngRoute']);

app.config(function($routeProvider) {
  $routeProvider

  .when('/', {
    templateUrl : '/index.html',
    controller  : 'HomeController'
  })
  .when('/about', {
    templateUrl : '/about.html',
    controller  : 'AboutController'
  })

  .otherwise({redirectTo: '/'});
});

app.controller('HomeController', function($scope) {
  $scope.message = 'Hello from HomeController';
});

app.controller('AboutController', function($scope) {
  $scope.message = 'Hello from AboutController';
});
</script>

1 个答案:

答案 0 :(得分:0)

如果没有看到您的代码,很难确切地说出问题所在。但是,我可以告诉你:

index.html 几乎不应出现在您的某条路线中。这是因为index.html是您的主页并包含标记:

    <!-- Place where our view will be displayed -->
    <div ng-view>
    </div>

例如,index.html的主体可能如下所示:

<body ng-app="routingApp">
    <header>
        <a href="#/home">Home</a>
        <a href="#/about">About</a>
    </header>
    <!-- Place where our view will be displayed -->
    <div ng-view>
    </div>
</body>

请注意,您不应在路线中使用index.html,而应使用这样的Home路线:

app.config(function($routeProvider) {
  $routeProvider
  .when('/', {
    templateUrl : '/home.html',
    controller  : 'HomeController'
  })
  .when('/about', {
    templateUrl : '/about.html',
    controller  : 'AboutController'
  })
  .otherwise({redirectTo: '/'});
});