我是棱角分明的新手,我遇到了这个问题:
angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.6.4/$injector/modulerr?p0=serviceApp&p1=Error…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.6.4%2Fangular.min.js%3A22%3A179)
at angular.js:38
at angular.js:4920
at q (angular.js:403)
at g (angular.js:4880)
at eb (angular.js:4802)
at c (angular.js:1914)
at Sc (angular.js:1935)
at ue (angular.js:1820)
at angular.js:33367
at HTMLDocument.b (angular.js:3431)
我有一个简单的js和html文件,我试图操纵对象和数组。我只想安慰我。我想要什么,所以我可以看到我要去的地方。 这是我的HTML:
<!DOCTYPE html>
<html ng-app="serviceApp">
<body>
<div ng-controller="indexCtrl">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="services.js"></script>
</body>
<html>
这是我的功能
的服务let rankingModule = angular.module('rankingModule', []);
let rankingsProm = [
{
position: 1,
user: 323232,
score: 100
}, {
position: 2,
user: 1213232,
score: 89
}
];
let usersProm = [
{
id: 1313232,
firstName: 'John',
lastName: 'Doe'
},
];
rankingModule.service('indexCtrl', function ($q, $http) {
$q.all([rankingsProm, usersProm]).then(function (responses) {
//$q returns an array of promises
console.log(responses)
console.log(mergeRankingWithUsers(responses[0], responses[1]))
})
function mergeRankingWithUsers (rankings, users) {
let merged = rankings.map(function (ranking) {
let index = users.findIndex(function (user) { return user.id === ranking.user; });
ranking.firstName = index > -1 ? users[index].firstName : 'unknown';
ranking.lastName = index > -1 ? users[index].lastName : 'unknown';
return ranking;
})
return merged;
}
})
答案 0 :(得分:3)
您正在使用ng-app引用错误的模块,应该是,
<html ng-app="rankingModule">
答案 1 :(得分:3)
你需要纠正以下几点:
<html ng-app="rankingModule">
indexCtrl
<div ng-controller="indexCtrl">
称为控制器
醇>
所以注册为控制器:
rankingModule.controller('indexCtrl', function ($q, $http) {..\\
答案 2 :(得分:1)
避免使用全局变量来存储角度模块。这被认为是一种不好的做法,因为这可能与其他模块冲突。
例如:
Straightaway,使用: angular.module('rankingModule',[]);
在控制器中: angular.module( 'rankingModule')。控制器...
在服务中: angular.module( 'rankingModule')。服务...
在您的情况下,全局变量的名称是特定的,但在许多情况下,您可能将您的变量命名为太通用,以至于它可能被任何库覆盖。