简体   繁体   English

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

[英]Angularjs MVC application, I cannot figure out why I'm getting an Unknown provider: $routeProvider <- $route

I'm working on an application that is using angularjs routing. 我正在开发一个使用angularjs路由的应用程序。 I've added ngRoute as a dependancy, I have confirmed that the angular-route.js file is being loaded. 我已经添加了ngRoute作为依赖项,我已经确认正在加载angular-route.js文件。 I still get an unknown provider error $routeProvided <- $route. 我仍然收到未知的提供程序错误$ routeProvided <-$ route。

What am I missing? 我想念什么?

I have three files for my app, they are loaded in the order displayed below. 我的应用程序有三个文件,它们按以下显示的顺序加载。

My application.js file 我的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();
    }]);
 })();

my route config file 我的路线配置文件

(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;
}]);

})();

My config file 我的配置文件

 (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'
                }
            }

        }
    ];
   }
})();

如果您使用的是Angular(1.2+)的最新版本,则需要下载并包括ngRoute文件,以及angular.js,后者不再包含所有这些附带提供程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM