gpt4 book ai didi

javascript - 在 Angular JS 中使用 ngClass 附加和删除 CSS 类

转载 作者:行者123 更新时间:2023-11-28 04:26:01 24 4
gpt4 key购买 nike

我正在使用 Angular JS 构建一个应用程序。我正在使用 ng-repeat 来循环元素列表。我的代码如下所示,

<div class="names" ng-repeat="room in rooms" ng-click="getMessages(room.id); active = true; " ng-class="{'blue_act': active}">

<div class="con_cir col-lg-2 col-md-2 col-sm-2">
<div class="grey_cir">
<div class="wht_cir">
<div class="circle1">
<div class="cir_txt">{{room.title | nameInitials}}</div>
</div>
</div>
</div>
</div>

<div class="em_info col-lg-10 col-md-10 col-sm-10">

<div class="em_pr">
<div class="name boldfnt col-lg-7 col-md-7 col-sm-7" ng-class="{'normal-font': active}">
{{room.title}}
</div>
<div class="date col-lg-5 col-md-5 col-sm-5">
{{room.lastActivity | date: 'd/M/yyyy'}}
</div>
</div>

<div class="subject boldfnt col-lg-12 col-md-12 col-sm-12">
Here is your copy of your coupans.
</div>

</div>
</div>

现在我想仅在选择特定行时应用blue_act 类。我不想在 Controller 中编写任何函数来实现此目的。

例如,当我单击 Demo#16 时,只有该行将具有蓝色背景。当我单击 e2Spark 时,只有该行将使用蓝色突出显示。仅使用 ng-clickng-class 是否可以?

屏幕截图 Screens

最佳答案

在 Controller 的范围上创建一个名为“selectedRow”的新属性,并在单击时为其分配房间名称。

plnkr

var app = angular.module('plunker', []);

app.controller('MainCtrl', function() {
this.rooms = [
{name: 'room1'},
{name: 'room2'},
{name: 'room3'},
];

this.selectedRow = this.rooms[0].name;
});
.blue_act {
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<body ng-app="plunker" ng-controller="MainCtrl as main">
selected row: {{main.selectedRow}}
<div class="names" ng-repeat="room in main.rooms" ng-click="main.selectedRow = room.name" ng-class="{'blue_act': main.selectedRow == room.name}">

<div class="con_cir col-lg-2 col-md-2 col-sm-2">
<div class="grey_cir">
<div class="wht_cir">
<div class="circle1">
<div class="cir_txt">{{room.name }}</div>
</div>
</div>
</div>
</div>
</div>
</body>

关于javascript - 在 Angular JS 中使用 ngClass 附加和删除 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45054280/

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