在AngularJS中设置Ng-Click上的类

时间:2014-07-21 09:34:24

标签: angularjs

我想使用ng-click为元素设置一个类。但是,虽然ng-click正确设置了值,但不能使用ng-class在同一元素上拾取它:

 <button class="button"  ng-click="selected=2;"  ng-class="{active:selected==2}"> </button> 

上面的代码会改变$ scope.selected的值,但是如果ng-class是通过另一个元素的ng-click设置的,那么ng-class似乎只能选择它。

3 个答案:

答案 0 :(得分:1)

尝试这样

<button class="button"  ng-click="selected=2"  ng-class="{'active':selected==2}"> </button>

答案 1 :(得分:1)

代码运行正常。这是一个工作小提琴,以便您可以查看错误的位置。

Working Fiddle

代码段:

<button class="button"  ng-click="selected=2"  ng-class="{active:selected==2}">Click to add class </button>

答案 2 :(得分:1)

为了更好地衡量,请将您的分配与视图分离到控制器中。

控制器:

app.controller('ctrl', function () {

  $scope.select = function (index) {
    $scope.selected = index;
  };

  $scope.isSelected = function (index) {
    return $scope.selected === index;
  };

});

标记:

<button class="button" ng-click="select(2)" ng-class="{ 'active': isSelected(2) }">

JsBin:http://jsbin.com/cajubixu/1/