Angular JS Uncaught Error:[$ injector:nomod]

时间:2016-02-24 11:48:23

标签: javascript angularjs

我在index.js中有以下应用程序:

angular.module('myApp', ['ngRoute', 'ngAnimate']);

    .config(function($urlRouterProvider, $locationProvider, $routeProvider) {

        $urlRouterProvider.otherwise('/');
        $locationProvider.html5Mode(true);
    });

我有2条路线 / about / contact ,每条路线都有自己的控制器文件(contact.controller.js)和我配置的contact.js路线如:

angular.module('myApp')

    .config(['$routeProvider',

        function($routeProvider) {

            $routeProvider.when('/about', {
                templateUrl: 'assets/javascript/about/about.html',
                controller: 'AboutCtrl',
                controllerAs: 'vm'
            });
        }
    ]);

我的问题是,如果我这样做,我会发现此错误

  

未捕捉的错误:   [$ injector:nomod] http

但是我可以从index.js中删除.config()。

我做错了,有人可以解释我怎样才能保留这两个配置?

2 个答案:

答案 0 :(得分:2)

要使用$urlRouterProvider,您需要使用ui-router,但您使用的是角度路由器。试试这样:

$routeProvider.otherwise({ redirectTo: '/' });

我个人更喜欢ui-router

答案 1 :(得分:1)

应该 index.js中没有两个配置 你可以做的是将代码附加在单个.config中,所以你的代码现在变成了

self.documentController = [UIDocumentInteractionController interactionControllerWithURL:localUrl];

我在我的一个项目中所拥有的是一个长配置功能,所以对于配置和路由我有一个文件index.js