gpt4 book ai didi

javascript - Angularjs:错误:[ng:areq] 参数 'HomeController' 不是函数,未定义

转载 作者:IT王子 更新时间:2023-10-29 02:40:59 25 4
gpt4 key购买 nike

这是我使用 angularjs 的演示,用于创建服务文件并向 Controller 添加服务。

我的演示有两个问题:

  • 一个是当我输入 <script src="HomeController.js">之前 <script src="MyService.js">我得到这个错误,

Error: [ng:areq] Argument 'HomeController' is not a function, got undefined

  • 另一个是当我输入 <script src="MyService.js">之前 <script src="HomeController.js">我收到以下错误,

Error: [$injector:unpr] Unknown provider: MyServiceProvider <- MyService

我的来源:

文件 Index.html :

<!DOCTYPE html>
<html >
<head lang="en">…</head>
<body ng-app="myApp">

<div ng-controller="HomeController">
<div ng-repeat="item in hello">{{item.id + item.name}}</div>
</div>

<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-route.js"></script>

<!-- App libs -->
<script src="app/app.js"></script>
<script src="app/services/MyService.js"></script>
<script src="app/controllers/HomeController.js"></script>
</body>
</html>

文件 HomeController.js :

(function(angular){
'use strict';

var myApp = angular.module('myApp',[]);

myApp.controller('HomeController',function($scope,MyService){
$scope.hello=[];
$scope.hello = MyService.getHello();
});
})(window.angular);

文件 MyService.js :

(function(angular){
'use strict';

var myApp = angular.module('myApp',[]);

myApp.service('MyService', function () {
var hello =[ {id:1,name:'cuong'},
{id:2,name:'nguyen'}];
this.getHello = function(){
return hello;
};
});

})(window.angular);

最佳答案

这将创建一个新的模块/应用程序:

var myApp = angular.module('myApp',[]);

虽然这会访问一个已经创建的模块(注意省略了第二个参数):

var myApp = angular.module('myApp');

由于您在两个脚本上都使用了第一种方法,所以您基本上是在覆盖您之前创建的模块。

在加载第二个脚本时,使用 var myApp = angular.module('myApp');

关于javascript - Angularjs:错误:[ng:areq] 参数 'HomeController' 不是函数,未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25895235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com