javascript - Angular : Uncaught Error: [$injector:modulerr] when using updated version of angularJS

标签 javascript html angularjs

我在测试项目中使用了旧版本的 angularJS (1.1.4)(我想学习 angularJS)。当我将 angularJS 脚本版本更改为最新版本时,出现此错误:

  Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.8/$injector/modulerr?p0=contactsManager&p1=…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.8%2Fangular.min.js%3A38%3A435)

我不知道是什么导致了这个错误...有人知道问题出在哪里吗?

更新:

从 angularJS.js 中删除 .min 后,我得到了更清晰的错误消息,所以这里是:

Error: [$injector:unpr] Unknown provider: $routeProvider
http://errors.angularjs.org/1.3.8/$injector/unpr?p0=%24routeProvide

代码如下:

JS:

//application.js
var app = angular.module('contactsManager', []);

app.config(function ($routeProvider) {
    $routeProvider
        .when('/contacts',
            {
                controller: 'ContactsController',
                templateUrl: './application/templates/contacts.html'
            })
        .when('/add-contact',
            {
                controller: 'ContactAddController',
                templateUrl: './application/templates/addContact.html'
            })
        .when('/edit-contact/:contactId',
            {
                controller: 'ContactEditController',
                templateUrl: './application/templates/editContact.html'
            })
        .when('/display-contact/:contactId',
            {
                controller: 'ContactDetailsController',
                templateUrl: './application/templates/displayContact.html'
            })
        .otherwise({ redirectTo: '/contacts' });
});

HTML:

<!DOCTYPE html>
<html data-ng-app="contactsManager">
<head>
    <title>Contacts</title>
    <link href="css/bootstrap.min.css" rel="stylesheet" />
    <link href="css/custom.css" rel="stylesheet" />
</head>
<body>

    <div class="navbar navbar-top">
        <div class="navbar-inner">
            <div class="container">
                <h2>Contacts</h2>
            </div>
        </div>
    </div>

    <div ng-view class="example-animate-container"
    ng-animate="{enter: 'example-enter', leave: 'example-leave'}"></div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular-resource.min.js"></script>

    <script src="application/application.js"></script>
    <script src="application/controllers/controllers.js"></script>
    <script src="application/services/contactsService.js"></script>
</body>
</html>

最佳答案

较新版本的 Angular 将 ngRoute 作为一个单独的模块,您必须将其包含在项目中。

<script src="//code.angularjs.org/X.Y.Z/angular-route.js"></script>

https://docs.angularjs.org/api/ngRoute

并通过注入(inject) ngRoute 更新您的应用初始化

var app = angular.module('contactsManager', ["ngRoute"]);

关于javascript - Angular : Uncaught Error: [$injector:modulerr] when using updated version of angularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610247/

相关文章:

javascript - svg img 上的时钟淡入动画

c++ - 通过网页执行程序(如 Steam)

css - 字体问题?出现奇怪的字体行为

javascript - 防止元素出现在行首或行尾

angularjs - 理解 Angularjs 中的 'directive' 范例

javascript - 如何从 <form> 创建变量的字典

javascript - 错还是对? Javascript

javascript - setTimeout 和 clearTimeout 中断

javascript - $scope 对象在 ng-view angularjs + asp.net mvc 中未定义

javascript - 我怎样才能调用greasemonkey中现有的javascript函数?