Angularjs MVC应用程序,我无法弄清楚为什么我得到一个未知的提供者:$ routeProvider< - $ route

时间:2014-10-16 21:20:05

标签: angularjs angularjs-ng-route

我正在处理使用angularjs路由的应用程序。我已经添加了ngRoute作为依赖项,我已经确认正在加载angular-route.js文件。我仍然得到一个未知的提供程序错误$ routeProvided< - $ route。

我错过了什么?

我的应用程序有三个文件,它们按照下面显示的顺序加载。

我的application.js文件

(function () {
'use strict';

var app = angular.module('MyApp', [
    // Angular modules 
    'ngAnimate',        // animations
    'ngRoute',          // routing
]);

app.run(['$route', '$rootScope', '$q', 'routemediator',
    function ($route, $rootScope, $q, routemediator) {
        routemediator.setRoutingHandlers();
    }]);
 })();

我的路线配置文件

(function () {
'use strict';

var app = angular.module('MyApp');

// Configure Toastr
toastr.options.timeOut = 4000;
toastr.options.positionClass = 'toast-bottom-right';


var events = {
    controllerActivateSuccess: 'controller.activateSuccess',
    spinnerToggle: 'spinner.toggle'
};

var config = {
    appErrorPrefix: '[Error] ', //Configure the exceptionHandler decorator
    docTitle: 'error: ',
    events: events,
    version: '1.0.0'
};

app.value('config', config);

app.config(['$logProvider', function ($logProvider) {
    // turn debugging off/on (no info or warn)
    if ($logProvider.debugEnabled) {
        $logProvider.debugEnabled(true);
    }
}]);

app.config(['commonConfigProvider', function (cfg) {
    cfg.config.controllerActivateSuccessEvent =          config.events.controllerActivateSuccess;
    cfg.config.spinnerToggleEvent = config.events.spinnerToggle;
}]);

})();

我的配置文件

 (function () {
 'use strict';

 var app = angular.module('MyApp');

 // Collect the routes
 app.constant('routes', getRoutes());

// Configure the routes and route resolvers
 app.config(['$routeProvider', 'routes', routeConfigurator]);
 function routeConfigurator($routeProvider, routes) {
    alert('in route config');
    routes.forEach(function (r) {
        $routeProvider.when(r.url, r.config);
    });
    $routeProvider.otherwise({ redirectTo: '/Home.html' });
}

// Define the routes 
function getRoutes() {

    return [
        {
            url: '/',
            config: {
                title: 'Home',
                templateUrl: '/App/views/Home.html',
                controller: 'HomeController',
                controllerAs: 'vm',
                settings: {
                    nav: 1,
                    content: '<i class="fa fa-dashboard"></i> Home'
                }
            }

        }
    ];
   }
})();

1 个答案:

答案 0 :(得分:1)

如果您使用的是Angular(1.2+)的最新版本,除了angular.js之外,您还需要下载并包含ngRoute文件,而该文件不再包含所有这些供应商。< / p>