Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular js ng repeat with conditional ng class not applying css class

I have a ng repeat with a ng class that doesn't apply the css class in the case where my css class has a hyphen in the name:

<li
  ng-repeat="item in items"
  ng-class="{'i-someclass' : item.Id > 10}">
  {{item .name}}
</li>

Am I doing anything wrong? If I change the css class name to isomeclass it works. AngularJS v1.0.7

like image 597
user3086298 Avatar asked Jan 11 '23 17:01

user3086298


1 Answers

For me, your code works as is.

Here is a plunker that demonstrates the code.

js:

var app = angular.module('myApp', []);

app.controller('Ctrl', function($scope) {

  $scope.items = [

    { Id: 1, name: "item1" },
    { Id: 10, name: "item1" },
    { Id: 11, name: "item1" }
    ];

  });

html:

<html ng-app="myApp">

  <head>
    <script data-require="angular.js@*" data-semver="1.2.4" src="http://code.angularjs.org/1.2.4/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-controller="Ctrl">
    <h1>Hello Plunker!</h1>
    <ul>
      <li
        ng-repeat="item in items"
        ng-class="{'i-someclass' : item.Id > 10}">
        {{item .name}}
      </li>
    </ul>
  </body>

</html>

css:

.i-someclass {
  color: red;
}
like image 184
Davin Tryon Avatar answered Jan 16 '23 11:01

Davin Tryon