gpt4 book ai didi

javascript - 修改除一个之外的所有 $scope.thing

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

我有一个 ul,其中填充了由 ng-repeat = "thing in things" 制作的 li。每个 li 都有一个由 $scope.isTrue = true; 定义的 truefalse 值。当用户单击 li 时,我想将其 $scope.isTrue 值更改为 false。如果用户单击不同的 li,我想将 $scope.isTrue 值更改为 false 并更改任何其他可能为 falsetrue

这是迄今为止我的代码( http://jsfiddle.net/HB7LU/8401/ ):

html:

<ul>                                         
<li ng-repeat="thing in things" >
<p ng-click="changeVal()">{{isTrue}}</p>
</li>
</ul>

Angular :

$scope.isTrue = true;

$scope.changeVal = function() {
if (this.isTrue == true) {
$scope.isTrue = true; //I try to change them all to true
this.isTrue = false; //but nothing happens.
} else if (this.isTrue == false) {
$scope.isTrue = true;
this.isTrue = true;
}
};

http://jsfiddle.net/HB7LU/8401/

目标是一次有一个 false 值。感谢您的帮助。

最佳答案

为什么不做这样的事情:

<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="(key,val) in things" >
<p ng-click="changeVal(key)">{{val}}</p>
</li>
</ul>
</div>

var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.things = {
0: true,
1: true,
2: true
}

$scope.changeVal = function(key) {
$scope.things[key] = false
for (k in $scope.things){
if (k!= key && $scope.things[k] == false){
$scope.things[k] = true
}
}
};
}

请参阅fiddle

关于javascript - 修改除一个之外的所有 $scope.thing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029259/

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