0

我正在开发一个使用 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'
                }
            }

        }
    ];
   }
})();
4

1 回答 1

1

如果您使用的是最新版本的 Angular(1.2+),则除了 angular.js 之外,您还需要下载并包含 ngRoute 文件,该文件不再包含所有这些侧提供程序。

于 2014-10-16T21:22:52.677 回答