[英]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.