Angular不会加载我的服务模块

时间:2016-04-29 21:43:15

标签: javascript angularjs angular-module

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

app.js

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

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

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

service.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,我不认为它是控制器,因为它甚至没有达到那么远。我真的看不出问题是什么,我希望得到一些帮助。

1 个答案:

答案 0 :(得分:2)

您尚未在temp_file

中添加service.js具有服务定义的引用
index.html

              

    

<!DOCTYPE html>