2017-05-09 54 views
0

我正在使用angularJS创建菜单。我需要添加或删除类,而点击如下图所示如何使用如果否则在ng类中的条件

<a href="#" ng-click="active='home'">&nbsp;<i class="fa fa-home {active === 'home' ? 'fa-spin': ''}" ></i> Home </a> 

我的代码,我需要根据活动的价值添加和删除类(FA-旋转)。但上面的代码不起作用。

回答

1

下面是正确的语法:

<a href="#" ng-click="active='home'">&nbsp;<i class="fa fa-home" ng-class="{'fa-spin':active=='home'}"></i> Home </a> 

建议

更好地使用UI路由器代替手工制作菜单。 UI路由器具有指令像ui-sref-active它会自动添加active类活动的菜单和菜单项

0

使用ngClass的其余部分删除(见文档:https://docs.angularjs.org/api/ng/directive/ngClass

为NG-类指令一般语法如下:

ng-class="{'class1': condition, 'class2':condition, ...'classn':condition}" 

因此,你的代码应该是这样的:

<a href="#" ng-click="active='home'">&nbsp;<i class="fa fa-home" ng-class="{'fa-spin': active === 'home'}" ></i> Home </a> 
0
<i ng-class="{'fa-spin': active === 'home'}" class="fa fa-home"></i> 
+0

虽然这个代码片断是值得欢迎的,并可以提供一些帮助,这将是[大大改善,如果它包含一个解释(// meta.stackexchange.com/q/114762)*如何解决问题。没有这些,你的答案就没有什么教育价值了 - 记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –

0

首先初始化active= true然后在ng-click上更改其值。

试试这个

<a href="" ng-init="active='true'" ng-click="active=!active" ng-class="active ? 'fa-home' : 'fa-spin'"></a> 
1

试试这个:

[ngClass]= "[active == 'home' ? 'fa-spin' : '']"