gpt4 book ai didi

javascript - Angular 中的某些变量未定义错误?

转载 作者:太空狗 更新时间:2023-10-29 14:14:13 26 4
gpt4 key购买 nike

我在 codepen 中使用以下代码并面临这个问题,对于 conctact,我收到以下错误

为什么它给出的是联系人错误而不是姓名?

我该如何解决这个问题?

angular.js:13550 ReferenceError: contact is not defined
at new <anonymous> (pen.js:8)
at Object.invoke (angular.js:4665)
at R.instance (angular.js:10115)
at n (angular.js:9033)
at g (angular.js:8397)
at g (angular.js:8400)
at angular.js:8277
at angular.js:1751
at n.$eval (angular.js:17229)
at n.$apply (angular.js:17329)

这是js文件

var app = angular.module("crud", []);

app.controller("ctrl", ['$scope', function($scope) {
$scope.data = [3, 4, 5, 34, 34];
debugger;
$scope.name = name;
$scope.contact = contact;
$scope.obj = {
name: $scope.name,
contact: $scope.contact
};
console.log($scope.obj);
}]);

这是我正在使用的 HTML 文件。

<body ng-app="crud">
<div ng-controller="ctrl">
<div>
<table>
<tr ng-repeat="x in data track by $index">
<td>{{x}}</td>
<td>{{$index}}</td>
</tr>
</table>
</div>
</div>
</body>

请回答这些问题

  1. 为什么联系失败而不是姓名?
  2. 联系人是数字数据,我应该给它设置什么默认值?

最佳答案

  $scope.name = name;
$scope.contact = contact;

它的联系人抛出错误是因为您的应用程序中没有全局联系人变量,但是如果您转到控制台并键入名称.. 有一个全局变量名称等于 "" 所以它不会抛出错误。

如果您将 $scope.name 替换为任何其他变量,它会为此抛出错误。这都是因为名称是全局的,它等于空字符串。

它为 age 而不是 contact 抛出的 fiddle 。 http://fiddle.jshell.net/o6a54Lw5/1/

它为 contact 而不是 name 抛出的 fiddle 。 http://fiddle.jshell.net/o6a54Lw5/2/

现在在第二个 fiddle 中,如果您转到控制台并键入 name,您将看到它声明的 global

关于javascript - Angular 中的某些变量未定义错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38741720/

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