gpt4 book ai didi

javascript - AngularJs:参数不是未定义的函数

转载 作者:搜寻专家 更新时间:2023-10-31 23:25:11 26 4
gpt4 key购买 nike

我开始学习 AngularJs,所以我通过分别创建 View 、服务文件和 Controller 文件开始了这种方式,如下所示:

<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="ServicesTut.js"></script>
<script src="ControllerTut.js"></script>
</head>

<body>
<div class="container">

<div ng-controller="CalculatorController">
Enter a number:
<input type="number" ng-model="number">
<button ng-click="findSquare()">Square</button>
<div>{{answer}}</div>
</div>

</div>
</body>
</html>

这是我的服务文件 --- ServicesTut.js"

var CalculatorService = angular.module('CalculatorService', [])
app.service('Calculator', function () {
this.square = function (a) { return a*a};

});

这是我的 Controller 文件 --- ControllerTut.js

var myApp = angular.module('myApp', ['CalculatorService']);
app.controller('CalculatorController', function ($scope, Calculator) {

$scope.findSquare = function () {
$scope.answer = Calculator.square($scope.number);
}
});

在我的浏览器上启动代码时,我收到以下错误消息:

Error: Argument 'CalculatorController' is not a function, got undefined

请帮助我!

最佳答案

在您的 ServicesTut.js 中,您应该使用 CalculatorService 变量而不是 app,这就是为什么服务没有在CalculatorService 模块。

var CalculatorService = angular.module('CalculatorService', [])
app.service('Calculator', function () {

应该是

var CalculatorService = angular.module('CalculatorService', [])
CalculatorService.service('Calculator', function () {

在 Controller 中再次重复同样的事情,在注册 Controller 时使用 myApp 而不是 app

var myApp = angular.module('myApp', ['CalculatorService']);
myApp.controller('CalculatorController', function ($scope, Calculator) {

关于javascript - AngularJs:参数不是未定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32462155/

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