html - 如何在 ng-repeat 中切换当前的“活动”类 div 并删除兄弟 div 的“活动”类
问题描述
我有以下代码。我想在单击时切换当前 div的“活动”类并删除同级 div 的“活动”类。我用了 ng-repeat
<div class="" ng-repeat="data in people">
<p>{{data.name}}</p>
</div>
控制器
$scope.people=[{
"name" : "john snow"
},
{
"name" : "daenerys"
}]
解决方案
ng-class
您可以使用该指令实现此目的。
您需要跟踪最后一个selected
值的索引并使用 更新该selected
值setActive()
。setActive()
单击时从您的 HTML调用并传递对象的索引。
这是一个工作片段
var app = angular.module("app", []);
app.controller("myCtrl", ["$scope", ($scope) => {
$scope.people=[{
"name" : "john snow"
},
{
"name" : "daenerys"
},
{
"name": "stark"
}];
$scope.selected = null;
$scope.toggleStatus = (index) => {
$scope.selected = $scope.selected !== index ? index : null;
}
}]);
.active {
background-color: yellow;
// enter active class css here
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app" ng-controller="myCtrl">
<div ng-repeat="data in people">
<p ng-class="{active: selected === $index}" ng-click="toggleStatus($index)">
{{data.name}}
</p>
</div>
</div>
在此处查看文档以ngClass
获取更多信息:https ://docs.angularjs.org/api/ng/directive/ngClass
推荐阅读
- assembly - 何时使用溢出标志?
- javascript - 无法在 JS 中解析命令参数
- python - 附加文件名的AttributeError?
- node.js - 如何正确地将快速服务器的响应发送到客户端
- python - Python Firebase 监听器 close() Kivy
- java - 通过 maven 运行 scalatest 时出现“java.lang.ClassCastException”错误
- javascript - 我将如何正确地 .catch 这个?
- visual-studio - 通过 `dotnet add package ..` 处理 nugets 与通过 Visual Studio UI 添加 nugets 的区别
- c# - Xamarin 表单编辑器属性
- firebase - 无法从“index.cjs.js”中找到模块“firebase-admin”