AngularJS如何将其设置为切换
AngularJS how to set this to toggle
所以我有一个ng重复,在其中它使用了ng点击和ng类,就像这里的这个plunker
http://plnkr.co/edit/TtQNQXOLggs1bsYKNJvx?p=preview
现在这很好用,它在您单击项目时设置类。然而,我想设置它,这样如果你再次点击该项目,它将删除该类。
所以我试着做一个if语句,检查它是否已经=为"menuItem",然后更改它的值,但现在它根本不起作用。
$scope.setActive = function(menuItem) {
if ($scope.activeMenu = menuItem)
{
$scope.activeMenu = 'null';
}
else
{
$scope.activeMenu = menuItem;
}
}
提前感谢!
这是因为在if
中您分配了一个值
if ($scope.activeMenu = menuItem)
检查相等的insead
if ($scope.activeMenu == menuItem)
简单地用==
替换=
检查activeItem
是否与item
相同,然后将activeItem更新为错误值
var app = angular.module('test', []);
app.controller('MainCtrl', function($scope) {
$scope.menuItems = ['Home', 'Contact', 'About', 'Other'];
$scope.activeMenu = $scope.menuItems[0];
$scope.setActive = function(menuItem) {
$scope.activeMenu = $scope.activeMenu == menuItem ? undefined : menuItem
}
});
.active {
background: red;
}
<script src="https://code.angularjs.org/1.3.16/angular.js"></script>
<div ng-app="test" ng-controller="MainCtrl">
<div class="account-item" ng-repeat='item in menuItems'>
<div class="account-heading" ng-class="{active : activeMenu === item}">
<h4 class="account-title">
<a href="#/Messages" ng-click="setActive(item)"> {{ item }}</a>
</h4>
</div>
</div>
</div>
这应该可以完成
$scope.setActive = function(menuItem)
{
if($scope.activeMenu === menuItem)
{
$scope.activeMenu = null;
}
else
{
$scope.activeMenu = menuItem;
}
}
请参阅此更新的plnk
相关文章:
- 如何在页面中正确设置AngularJS控件
- 如何使用onDeviceReady设置AngularJS应用程序并初始化Cordova的功能
- 如何在JavaScript而不是HTML元素中设置AngularJS验证
- 设置AngularJS控制器属性不能是使用Coffeescript的最后一行
- 使用 API javascript 设置 AngularJS 模板
- 如何使用Javascript设置AngularJs属性
- 如何正确设置AngularJS文件
- 在项目启动时从$http设置Angularjs常量.获取
- 为时区设置 AngularJS 全局配置
- 无法设置属性'日期'在设置AngularJS UI引导日期选择器时未定义的
- 如何设置angularjs控制器
- 如何设置AngularJS项目以在使用不同的服务实现之间进行交替
- 动态设置AngularJS Directive元素的属性
- 设置AngularJS选择的选定值
- 如何使用python Selenium或JavaScript控制台设置AngularJS控制器变量的值
- 设置AngularJS工厂来共享数据
- JQuery UI slider '函数不设置angularJS的值
- 如何为非根基url设置AngularJS的$locationProvider HTML5模式
- 从变量中编程地设置AngularJS过滤器(如日期或货币)
- 如何使用AWS设置AngularJS应用程序?