9

This is the basic idea of my code:

HTML (jade):

#preferencesBox(ng-click="toggleCustom()")
   .glyphicon.glyphicon-heart

CSS:

#preferencesBox.active{
   color: #d04f37;
}

Angular:

$scope.check = true;
$scope.toggleCustom = function() {
    $scope.check = $scope.check === false ? true: false;
};

I want to add the css color : #d04f37 when the user clicks the parent #preferencesBox. Adding/removing .active is the jQuery way. How should my ng-class or the rest code look like?

2
  • So change color when the mouse is down and then back when released? Commented Nov 4, 2013 at 16:18
  • @oGeez No be permanent until the next click. Like a html checkbox. Commented Nov 4, 2013 at 16:19

2 Answers 2

16

You can use an expression inside ng-class that will watch the check variable:

ng-class="{'active' : check}"

When check = true, add class active

Sign up to request clarification or add additional context in comments.

Comments

5

Take a look at the next example and apply in Jade:

<header ng-click="click()" ng-class="{'active': active == true}">Hello</header>

Then, in your controller:

$scope.click = function(){
    $scope.active = true;
}

I'd say this is simple enough to get you started and add logic for toggling into click() (it's only an if).

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.