升级角度形式1.1到1.3时,获取未知提供程序$ routeProvider的错误

时间:2015-11-17 00:17:59

标签: angularjs angular-routing

我尝试将角度1.1.X升级到1.3,我得到以下错误:

  

未捕获错误:[$ injector:modulerr]由于以下原因无法实例化模块应用程序:   错误:[$ injector:unpr]未知提供者:$ routeProvider   http://errors.angularjs.org/1.3.20/ $注射器/ unpr?P0 =%24routeProvider       在http://localhost/web/js/third-party/angular1.3.20.js:63:12       在http://localhost/web/js/third-party/angular1.3.20.js:4031:19       at getService(http://localhost/web/js/third-party/angular1.3.20.js:4178:39)       at Object.invoke(http://localhost/web/js/third-party/angular1.3.20.js:4210:13)       at runInvokeQueue(http://localhost/web/js/third-party/angular1.3.20.js:4125:35)       在http://localhost/web/js/third-party/angular1.3.20.js:4134:11       at forEach(http://localhost/web/js/third-party/angular1.3.20.js:326:20)       在loadModules(http://localhost/web/js/third-party/angular1.3.20.js:4115:5)       在createInjector(http://localhost/web/js/third-party/angular1.3.20.js:4041:11)       at doBootstrap(http://localhost/web/js/third-party/angular1.3.20.js:1455:20)   http://errors.angularjs.org/1.3.20/ $注射器/ modulerr P0 =应用&安培; P1 =错误%3A%20 ...%3A%2F%2Flocalhost%2Fweb%2Fjs%2Fthird方%2Fangular1.3.20.js%3A1455%3A20)

MainMenusCtrl.js

angular.module('app.MainMenusCtrl', [])
.controller('MainMenusCtrl', function($scope, $rootScope, SearchService, $location, $timeout, FormService, PropertyService){...}

app.js

    angular.module('app.controllers',['app.MainMenusCtrl',...]);
    angular.module('app.validators',[...]);
    angular.module('app.services',[...]);
    angular.module('app',         ['app.controllers','app.validators','app.services',..])
   .config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider){

        $routeProvider.when(':formName',{
            template: '<div ng-include src="templateUrl"></div>',
            controller: 'RouteCtrl'
        });
        $routeProvider.when(':headName/:formName', {
            template: '<div ng-include src="templateUrl"></div>',
            controller: 'RouteCtrl'
        });
    }
]);

HTML:

    <script src="js/third-party/jquery-1.9.1.min.js"></script>
    <script src="js/third-party/angular1.3.20.js"></script>
    <script src="js/third-party/angular-route.js"></script>
    <script src="js/third-party/angular-cookies.min.js"></script>
    <script src="js/jquery.scrollTo.js" type="text/javascript"></script>
    <script src="js/third-party/keypress.js"></script>
    <script src="js/third-party/ng-upload.min.js"></script>
    <script src="js/third-party/jquery-ui.min.js"></script>
    <script src="js/third-party/jquery-ui-1.10.2.custom.min.js"></script>
    <script src="js/third-party/ui-calendar.js"></script>
    <script src="js/third-party/date.js"></script>
    <script src="js/third-party/fullcalendar.min.js"></script>              
    <script src="js/third-party/moment.min.js"></script>
    <script src="js/third-party/bootbox.min.js"></script>
    <script src="js/third-party/sortable.js"></script>
    <script src="js/third-party/ui-bootstrap-tpls-0.14.3.min.js"></script>
    <script src="js/third-party/jquery.simplecolorpicker.js"></script>

我不确定是什么错,如果有人能给我一些点击会很好。 谢谢。

1 个答案:

答案 0 :(得分:3)

确保将ngRoute添加到使用它的模块的依赖项列表中。

   angular.module('app.controllers',['app.MainMenusCtrl',...]);
   angular.module('app.validators',[...]);
   angular.module('app.services',[...]);
   angular.module('app', ['ngRoute', 'app.controllers','app.validators','app.services',..])
   .config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider){

        $routeProvider.when(':formName',{
            template: '<div ng-include src="templateUrl"></div>',
            controller: 'RouteCtrl'
        });
        $routeProvider.when(':headName/:formName', {
            template: '<div ng-include src="templateUrl"></div>',
            controller: 'RouteCtrl'
        });
    }
]);