对于使用 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,据我所知,我不认为它是控制器,因为它甚至没有走那么远。我真的看不出问题出在哪里,我将不胜感激。