无法使AngularJS路由器正常工作

时间:2014-01-12 15:15:13

标签: angularjs

我是新用的AngularJS,我正在尝试实现一个路由器来管理2个不同的视图。

我已关注tutorial,但我的javascript控制台出错:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.7-build.2029+sha.80e7a45/$injector/modulerr…Flocalhost%3A3094%2Fbower_components%2Fangular%2Fangular.min.js%3A32%3A188)

只有在我添加代码的APP.config()部分时才会发生此错误。

我可以直接在我的浏览器上访问路线/views/a.html,我的html代码(index.html)中有<div ng-view></div>,我不明白我错过了什么..

var APP = angular.module('APP', [ 'ui.bootstrap', 'angularFileUpload', 'ngRoute' ])
            //Load Facebook SDK & co...
});

APP.config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.
            when('/a', {
                templateUrl: 'views/a.html',
                controller: 'aCtrl'
            }).
            when('/b', {
                templateUrl: 'views/b.html',
                controller: 'bCtrl'
            }).
            otherwise({
                redirectTo: '/a'
            });
    }
]);

APP.controller('aCtrl', function() {
    console.log('CALL A CONTROLLER');
});

APP.controller('bCtrl', function() {
    console.log('CALL B CONTROLLER');
});

1 个答案:

答案 0 :(得分:1)

您必须将ngRoute注入您的应用:

angular.module('ngViewExample', ['ngRoute'])

不幸的是,演示应用程序仍在使用v1.0.6,所以你会看到很多不一致的地方。以下是文档中的一个更好的示例:

http://docs.angularjs.org/api/ngRoute.$route