我在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()。
我做错了,有人可以解释我怎样才能保留这两个配置?
答案 0 :(得分:2)
要使用$urlRouterProvider
,您需要使用ui-router,但您使用的是角度路由器。试试这样:
$routeProvider.otherwise({ redirectTo: '/' });
我个人更喜欢ui-router
答案 1 :(得分:1)
你应该 index.js中没有两个配置 你可以做的是将代码附加在单个.config中,所以你的代码现在变成了
self.documentController = [UIDocumentInteractionController interactionControllerWithURL:localUrl];
我在我的一个项目中所拥有的是一个长配置功能,所以对于配置和路由我有一个文件index.js