无法在Angular中注入routeProvider

时间:2015-01-27 14:13:53

标签: angularjs

有人可以告诉我,我发现错误是什么错误AngularJs Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to: Error: [$injector:unpr] Unknown provider: $routeProvider

当我运行此代码时

    var app = angular.module("app", [])
    .config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.when("/login", {
                templateUrl : "login.html", 
                controller: "loginController"
            });
            $routeProvider.otherwise({redirectTo : "/login"})
  }]);

代码与AngularJs官方网站

上的代码相同(希望如此)

3 个答案:

答案 0 :(得分:1)

您需要注入ngRoute模块。

    var app = angular.module("app", ['ngRoute'])
    .config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.when("/login", {
                templateUrl : "login.html", 
                controller: "loginController"
            });
            $routeProvider.otherwise({redirectTo : "/login"})
  }]);

并在页面上添加angular-route.js

<script type="text/javascript" src="assets/js/angular-route.min.js"></script>

并确保您使用网络服务器运行角度

答案 1 :(得分:1)

ngRoute应该注射....

var app = angular.module("app", ['ngRoute'])
        .config(['$routeProvider',
      function($routeProvider) {
        $routeProvider.when("/login", {
                    templateUrl : "login.html", 
                    controller: "loginController"
                });
                $routeProvider.otherwise({redirectTo : "/login"})
      }]);

答案 2 :(得分:0)

您还应该考虑使用ui.router。比ngRoute更强大。我很确定下一个Angular版本会将ngRoute替换为ui.router