2015-12-22 116 views
0

我做了一个简单的指令。我在该指令上有两个按钮。我能够获得该按钮的单击事件。但是我想在其上添加类。如何添加类按钮点击角?

我有一类

.red { 
    background-color: red; 
} 

我想只要按钮点击添加这个类..

  • Intially 登录按钮有红色的类。当退出按钮被点击它适用于注销按钮并从删除登录按钮

或再次,如果我点击登录按钮将它应用在登录按钮和注销按钮删除..

我做这样的

angular.module('app', ['ui.router']).directive('tm', function() { 
    return { 
    restrict: 'E', 
    templateUrl: 'login.html', 
    scope: { 
     login: "&", 
     logout: '&' 
    }, 
    controller: 'f', 
    controllerAs: 'vm' 
    }; 
}) 

这里是代码 http://plnkr.co/edit/Q1e8u0okOa4looLcb2YO?p=preview

+0

使用'ngClass'。 https://docs.angularjs.org/api/ng/directive/ngClass – Claies

+0

我想用ngClass ..I – user944513

回答

2

添加一个链接功能

请试试这个

link: function(scope, elm, attr) { 
    elm.find("button").on("click", function(e) { 
    elm.find("button").removeClass("red"); 
    angular.element(this).addClass("red"); 
    }) 
} 

PLNKR

,也可以使用做ngClass

像这样

JS

vm.isLogin = true; 
vm.login = function() { 
    vm.isLogin = true; 
} 

vm.logout = function() { 
    vm.isLogin = false; 
} 

HTML

<button type="button" class="btn btn-default" ng-class="{'red': vm.isLogin }" ng-click='vm.login()'>Login</button> 
<button type="button" class="btn btn-default" ng-class="{'red': !vm.isLogin }" ng-click='vm.logout()'>logount</button> 

PLNKR

+0

得到它你的答案是正确的..但我正在寻找使用ng级。我想要写我的逻辑o控制器。我想采取一个变量..并且该变量成为真假 – user944513

+0

你的逻辑是失败时,有3个按钮..我想这样做只为前两个按钮..它适用于所有按钮 – user944513

+0

nope它会工作的所有按钮,虽然我已经添加了你的ngClass部分@ user944513 –