添加$ locationProvider以配置导致错误

时间:2015-03-10 11:16:02

标签: angularjs angularjs-routing

我只是学习角度,当我将$ locationProvider添加到我的.config时,我得到以下错误。删除对$ locationProvider的任何引用都会删除该错误。这是一些角度版本错误,我尝试过不同的(更高版本)版本?我不知道如何在不收到错误的情况下添加$ locationProvider。任何帮助将不胜感激。

我在index.html中设置了

Error: Error: [$injector:modulerr]  http://errors.angularjs.org/1.2.9/$injector/modulerr?p0=styleApp&p1=%5B%24injector%3Anomod%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.2.9%2F%24injector%2Fnomod%3Fp0%3DstyleApp%0AF%2F%3C%40https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.9%2Fangular.min.js%3A6%3A449%0AVc%2Fb.

我的配置如下:

styleApp.config(function($routeProvider, $locationProvider) {
    $routeProvider
        // route for the home page
        .when('#/', {
            templateUrl : '/page/page1.html',
            controller  : 'mainCtrl'
        })
        // route for 2nd page
        .when('#page2', {
            templateUrl : '/subdir/page2.html',

        })

        // route for the 3rdpage
        .when('#page3', {
            templateUrl : '/subdir/page3.html',

        })
        .when('#page4', {
            templateUrl : '/subdir/page4.html',

        })

        .when('#page5', {
            templateUrl : '/subdirn/page5.html',

        });

        // use the HTML5 History API
        $locationProvider.html5Mode(true);
});

1 个答案:

答案 0 :(得分:0)

您应该添加' ngRoute'作为您模块的依赖项,如下所示:

var styleApp = anular.module('moduleName', ['ngRoute']);

其次,html5Mode使您的网址看起来像普通网址,因此您应该删除所有路由中的#;因此,第4页的路线将如下所示:

.when('/page4', {
        templateUrl : '/subdir/page4.html',
    })