javascript - 拼写错误或缺少模块?

标签 javascript angularjs asp.net-mvc-5 factory angular-module

我有一个 ASP.NET MVC5 应用程序,我在其中使用 AngularJS。在这里,我有一个名为 atTheMS 的模块,其中有一个名为 albumService 的服务工厂和 3 个 Controller :ListControllerEditControllerDetailsController。服务和 Controller 都依赖于 atTheMS 模块,但我只从 albumService

得到这个错误
Uncaught Error: [$injector:nomod] Module 'atTheMS' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

它说它发生在(匿名函数)albumService.js:27

(function (app) {
var albumService = function ($http, albumApiUrl) {
    var getAll = function () {
        return $http.get(albumApiUrl);
    };
    var getById = function (id) {
        return $http.get(albumApiUrl + id);
    };
    var update = function (album) {
        return $http.put(albumApiUrl + album.Id, album);
    };
    var create = function (album) {
        return $http.post(albumApiUrl, album);
    };
    var destroy = function (album) {
        return $http.delete(albumApiUrl + album.Id);
    };
    return {
        getAll: getAll,
        getById: getById,
        update: update,
        create: create,
        delete: destroy
    };
};
app.factory("albumService", albumService);
}(angular.module("atTheMS")));

使用 (angular.module("atTheMS")) 的其他文件不会发生错误,这是复制我拥有的另一个工厂生成的,除了“album”这个词外完全相同"被单词 "book"取代,模块是 "atTheLibrary",当我在该页面上时没有错误。我很困惑为什么这会有所不同。任何帮助将不胜感激,谢谢。

根据要求,这是 View :

@section scripts {
    <script src="~/Scripts/angular.js"></script>
    <script src="~/Scripts/angular-route.js"></script>
    <script src="~/Client/Scripts/Album/albumService.js"></script>
    <script src="~/Client/Scripts/Album/atTheMS.js"></script>
    <script src="~/Client/Scripts/Album/ListController.js"></script>
    <script src="~/Client/Scripts/Album/DetailsController.js"></script>
    <script src="~/Client/Scripts/Album/EditController.js"></script>
}

<div data-ng-app="atTheMS">
    <ng-view></ng-view>
</div>
<hr />

最佳答案

检查您正在初始化模块的文件 - atTheMS。必须先初始化/加载 Angular 模块,然后才能在该模块中创建工厂。从您的 HTML 中可以看出文件 albumService.js 在 atTheMS.js 文件之前被加载。尝试在 atTheMS.js 文件之后加载 albumService.js 文件。

关于javascript - 拼写错误或缺少模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120827/

相关文章:

javascript - Bootstrap Modal 无法刷新数据

javascript - 预测在 javascript 中完全加载页面的时间

javascript - 仅当模态可见时 ESC 是否触发后退事件?

javascript - 需要解析其他网页的值。首先我需要调用其他网页并从中解析 XML 值

c# - asp.net mvc Response.Redirect 在 global.asax 中不起作用

c# - 从客户端到服务器共享 facebook session token

arrays - 发布字符串数组

javascript - 在redux中,使用combineReducers预加载状态

module - 使用 Angular JS 时如何加载 AMD 模块?

javascript - 使用 $http.get() 通过 Angular 下载远程文件 - OAuth 身份验证