AngularJS - 在单击时应用类并保持应用,或在再次单击时将其删除
AngularJS - Apply a class onclick and keep it applied, or remove when clicked again
我正在将onclick上的类应用于我的自定义元素,我想保持应用它。就像有一堆<event>
元素,当我单击其他元素时,前一个元素会丢失该selected
类。也就是说,我无法让它一次将selected
类应用于多个类。
这是我的视图代码:
<event class="event" ng-repeat="event in events" event="{{ event }}"
ng-class="{'selected' : $index == selected}"
ng-click="selectEvent($index, event)">
{{ event }}
</event>
这是我的控制器
myApp.controller('MyCtrl', function ($scope, $http) {
$scope.selectEvent = function($index, event) {
$scope.selected = $index;
console.log(event);
}
});
此外,我还希望在再次单击特定<event>
时删除该类。
您只有一条数据($scope.selected
)跟踪选择。每次单击新元素时,都会覆盖先前的选择。
如果希望每个事件具有单独的选定/未选定状态,则必须创建允许这样做的数据结构。
在这个小提琴中,我将事件定义为:
$scope.events = [
{name: 'event1', selected: false},
{name: 'event2', selected: false},
{name: 'event3', selected: false}
];
我认为它按照您的预期工作。
相关文章:
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 如何创建背景图像列表'URL,并使用jQuery在单击函数时应用它们
- 如何在重定向到asp.net中单击按钮的下一页之前应用javascript警报
- 在Node Webkit应用程序中从DOM单击按钮时运行批处理文件
- 绘图应用程序-单击工具更改光标
- Metro 应用程序中的列表视图项目单击
- GAS 单击事件处理程序导致 UI Web 应用中出现“意外错误”
- isHidden函数要求我在应用响应显示时单击两次
- 单击html5svg应用程序中的rect
- 自定义右键单击UI上下文菜单(复制、粘贴、剪切)用于整个应用程序(所有网页)跨所有浏览器而非单个网页
- 单击时,Admob初始广告未链接到应用商店
- 如何在Windows phone 8.0应用程序的WebBrowser中自动单击html按钮
- 角度错误:[$rootScope:inprog]$已在文档上应用.单击()
- 当单击菜单时,应用过渡效果来减慢子菜单的打开速度
- 单击视图时的应用器范围问题
- 单击从Android应用程序到HTML页面的单选按钮
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 在单击“应用”按钮后应用angularjs过滤器
- 如何在单击时将 css 属性应用于选项卡
- 如何在单击应用邀请时,使用“赞”按钮将 Facebook 用户定向到该页面