AngularJS 1.6路由

时间:2017-01-08 23:23:05

标签: angularjs routing angularjs-1.6

我正在为AngularJS v1.6应用设置路由,但我遇到了一个小问题。

我收到以下错误,我似乎无法弄清楚出了什么问题。我希望你们能解释一下我的错误。

Uncaught Error: [$injector:modulerr] <http://errors.angularjs.org/1.6.1/$injector/modulerr?p0=app&p1=Error%3A%20%…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.6.1%2Fangular.min.js%3A21%3A332>)
    at angular.js:38
    at angular.js:4759
    at q (angular.js:357)
    at g (angular.js:4720)
    at eb (angular.js:4642)
    at c (angular.js:1838)
    at Mc (angular.js:1859)
    at pe (angular.js:1744)
    at angular.js:32977
    at HTMLDocument.b (angular.js:3314)

以下是我的代码:

app.js;

(function () {
    "use strict";

    angular.module("app", [
        "ngRoute",
        "app.home",
        "app.products",
        "app.contact"
    ])

    .config(function ($routeProvider) {

        $routeProvider
            .when("/",
            {
                controller: "homeController",
                templateUrl: "app/components/home/home.html"
            })
            .when("/products",
            {
                controller: "productsController",
                templateUrl: "app/components/products/products.html"
            })
            .when("/contact",
            {
                controller: "contactController",
                templateUrl: "app/components/contact/contact.html"
            });
    });

})();

这是我的控制器之一(所有3都是相同的)......

(function() {
    "use strict";

    angular
        .module("app.home", [])
        .controller("homeController", homeController);

    function homeController() {
        this.helloWorld = "Hello World";
    }

});

3 个答案:

答案 0 :(得分:1)

链接到错误消息:

https://docs.angularjs.org/error/$injector/modulerr?p0=app&p1=undefined

  

使用ngRoute

     

在AngularJS 1.2.0及更高版本中,ngRoute已移至其自己的模块。如果您在升级到1.2.x或更高版本后收到此错误,请确保您已安装ngRoute

答案 1 :(得分:0)

是的,这是我在几秒钟内以一种清醒的头脑看待我的应用程序时修复的错误。我的每个控制器都缺少IIFY末尾的括号。

答案 2 :(得分:0)

我遇到了同样的问题。尝试在视图文件中使用angular-route.js包含ngRoute