对于使用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,我不认为它是控制器,因为它甚至没有达到那么远。我真的看不出问题是什么,我希望得到一些帮助。
答案 0 :(得分:2)
您尚未在temp_file
service.js
具有服务定义的引用
index.html
<!DOCTYPE html>