AngularJs - 从ngRoute变为ui-router throw错误:[$ injector:unpr]

时间:2015-10-29 17:47:08

标签: javascript angularjs angular-ui-router ngroute

我将应用程序中的路由从ngRoute更改为ui-router,我收到两个错误:

  1. SyntaxError:意外的字符串
  2. 未捕获错误:[$ injector:unpr]
  3. config.route.js:

    (function () {
      var app = angular.module('app');
    
      //Collect the routes
      app.constant('routes', getRoutes());    
    
      app.config(['$stateProvider', '$urlRouterProvider', 'routes', routeConfigurator]);
      function routeConfigurator('$stateProvider', '$urlRouterProvider', routes) {
        routes.forEach(function (r) {
          $stateProvider.state(r.url, r.config);
        });
        $urlRouterProvider.otherwise('/');
      }
    
      //Define the routes
      function getRoutes() {
        return [
          {
            url: '/',
            config: {
              templateUrl: 'app/components/dashboard/test/dashboard.html',
              title: 'dashboard',
              settings: {
                nav: 1,
                content: '<i class="fa fa-dashboard"></i> Dashboard'
              }
            }
          }, {
            url: '/admin',
            config: {
              title: 'admin',
              templateUrl: 'app/components/admin/admin.html',
              settings: {
                nav: 2,
                content: '<i class="fa fa-lock"></i> Admin'
              }
            }
          }
        ];
      }
    })();
    

    之前的情况如下,工作正常:

    app.config(['$routeProvider', 'routes', routeConfigurator]);
      function routeConfigurator($routeProvider, routes) {
        routes.forEach(function (r) {
          $routeProvider.when(r.url, r.config);
        });
        $routeProvider.otherwise({ redirectTo: '/' });
      }
    

    ui-router模块在app.js中正确引用,angular-ui-router.min.js文件在index.html加载时成功加载。我究竟做错了什么 ?请帮忙!

1 个答案:

答案 0 :(得分:1)

function routeConfigurator('$stateProvider', '$urlRouterProvider', routes)

应该是

function routeConfigurator($stateProvider, $urlRouterProvider, routes)

这就是您收到Unexpected string错误的原因。

第二个错误是第一个错误的结果。