繁体   English   中英

Angular 不会加载我的服务模块

[英]Angular won't load my service module

对于使用 Angular 1.5 的应用程序,我有以下三个文件:

应用程序.js

angular.module('myApp', ['ngRoute', 'myApp.service'])
    .controller('AppController', AppController);

AppController.$inject = ['$scope', 'GreeterService'];

function AppController($scope, GreeterService) {
    $scope.greeting = GreeterService.greet("World");
}

服务.js

angular.module('myApp.service', [])
.factory('GreeterService', function() {
    return {
        salutation: 'Hello',
        greet: function(name) {
            return this.salutation + ' ' + name + '!';
        }
    };
});

和 index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="">

</head>
<body>
    <header>

    </header>

    <main ng-app='myApp'>
        <div ng-controller="AppController">
            {{ greeting }}
        </div>
    </main>

    <footer>
        <script src="libs/angular.js" charset="utf-8"></script>
        <script src="libs/angular-route.min.js" charset="utf-8"></script>
        <script src="js/app.js" charset="utf-8"></script>
    </footer>
</body>
</html>

我无法正确加载应用程序,我不知道为什么。 app.js 和 service.js 在同一个目录下。 我已经为两者制作了模块,我在 myApp 的依赖项中注入了 myApp.service,myApp.service 定义了一个工厂,该工厂返回一个用作单例的对象,并且所有名称都匹配。 我在控制台中遇到的错误告诉我 myApp.service 无法加载,因为它不可用。 myApp 和 myApp.service 正在正确使用 DI,据我所知,我认为它不是控制器,因为它甚至还没有那么远。 我真的看不出问题是什么,我希望得到一些帮助。

您尚未在index.html添加对service.js的引用,该引用具有您的服务定义

<!DOCTYPE html>

</header>

<main ng-app='myApp'>
    <div ng-controller="AppController">
        {{ greeting }}
    </div>
</main>

<footer>
    <script src="libs/angular.js" charset="utf-8"></script>
    <script src="libs/angular-route.min.js" charset="utf-8"></script>
    <script src="js/app.js" charset="utf-8"></script>
    <script src="js/service.js" charset="utf-8"></script>
</footer>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM