gpt4 book ai didi

javascript - 使用 Angular 按下按钮会导致 v2.show 不是函数错误

转载 作者:行者123 更新时间:2023-12-03 06:04:11 25 4
gpt4 key购买 nike

我正在学习 Angular,我发现了一个我似乎无法弄清楚的问题。我已经查看了类似错误消息的其他解决方案,它往往表明范围,但我不认为这是一个问题。

我当前想做的事情是将一些内容隐藏在 div 中,直到某件事为真。在这种情况下,我想要按下一个按钮,然后显示一些文本框。然而,我目前陷入这样一个事实:当我按下按钮时,由于错误,将值设置为 true 的函数将无法工作。错误是

TypeError: v2.show is not a function
at fn (eval at compile (angular.min.js:233), <anonymous>:4:266)
at b (angular.min.js:126)
at e (angular.min.js:276)
at m.$eval (angular.min.js:145)
at m.$apply (angular.min.js:146)
at HTMLButtonElement.<anonymous> (angular.min.js:276)
at Sf (angular.min.js:37)
at HTMLButtonElement.d (angular.min.js:37)(anonymous function) @ angular.min.js:118(anonymous function) @ angular.min.js:90$apply @ angular.min.js:146(anonymous function) @ angular.min.js:276Sf @ angular.min.js:37d @ angular.min.js:37

我的代码是

<!DOCTYPE html>
<html ng-app="screenPop">

<head>
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" />
</head>

<body>
<div ng-controller='TestIdController as tiCtrl'>
{{tiCtrl.isShown}}
<button ng-click="tiCtrl.show()">{{tiCtrl.statement}}</button>
<div ng-show="tiCtrl.isShown" ng-repeat="reqs in tiCtrl.requirements">
<button>{{reqs}}</button>
</div>
</div>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>

</body>

</html>

app.js 是

(function(){
var app = angular.module('screenPop',[]);

var test_login = ['Identity','userName','Password'];

app.controller('TestIdController', function(){
this.requirements = test_login;
this.statement = "Validate Credentials";
this.isShown = false;
this.show = function(){
this.show = true;
};
});

})();

有什么想法为什么我在按下按钮时会收到该错误吗?

最佳答案

大概就是这个 block

this.show = function(){
this.show = true;
};

您有一个名为 show 的函数,然后尝试在该函数内将其设置为 bool 值。更改 bool 名称或函数名称。

您可能想要设置 isShown 变量,而不是 show

this.isShown = false;
this.show = function(){
this.isShown = true;
};

关于javascript - 使用 Angular 按下按钮会导致 v2.show 不是函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39626087/

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