如何使用一个布尔来使用多个ng-click?Angularjs



Angularjs非常新颖,所以这个问题可能很愚蠢!我有7个<span>,其中包括一周的7天。这个想法是,每次用户单击一天,这要归功于NG展示一张带有当天数据的桌子。

我对"按钮"有问题(对于内部的按钮,我的意思是内部单击的文本(,我使用ng-click and ng-class,因此当您单击一天时,文本会变大且彩色,所以你知道您选择了哪一天!

ng-class="{'activeSelection': isActive}" ng-click="isActive = !isActive"

.activeSelection {
transform: scale(1.2);
color: #fff;

}

因此,如果只有一天,这将效果很好,但是发生的事情是当我单击一天时,其他所有的日子都会应用" ActiveSelection"类。

我明白这是因为每天的主动行动是相同的,所以当我单击一天并变得" true"时,整天都变得相同,所以整天都变得大又彩色!

我该如何解决?最初,我想每天都这样做,这样的布尔是这样的:

isActive, isActive2, isActive3, isActive4..

,但是有一些问题,首先,当我已经点击了一个后的另一天,我希望前一天失去班级,所以一次只有一天很大!因此,如果单击新的一天,前一天将像其他人一样返回小尺寸!

对于桌子,我将使用一个NG展示,并在单击一天时获得的布尔,因此,如果单击星期一,则会显示星期一的表格,但是如果我们单击星期三,星期一的桌子会消失,则星期三出现。

最好的方法是什么?谢谢

您可以每天单击一件事,传递一些参数以功能并更新$范围。尝试以下示例

<button ng-click="changeDay(1)"> Day 1</button>
<button ng-click="changeDay(2)"> Day 2</button>
<button ng-click="changeDay(3)"> Day 3</button>
<div ng-class="{'activeSelection': day==1}">1 Selection</div>
<div ng-class="{'activeSelection': day==2}">2 Selection</div>
<div ng-class="{'activeSelection': day==3}">3 Selection</div>

控制器

$scope.day =0;
$scope.changeDay = (day)=>{
    $scope.day =day;
}

最新更新