加载中...

AngularJS之ng-class(十一)


前言

本节我们来讲讲指令中的ng-class,通过添加ng-class来生成对应的样式,有时候得根据不同的条件来选择对应的样式,本节我们来看看ng-class的灵活性用法。

ng-class使用字符串(一)

想必这种用法是最简单的,我们稍作演示下。

  1. <div class="well">
  2. <div class="form-group">
  3. <input type="text" placeholder="input your class type" ng-model="textType" class="form-control" />
  4. </div>
  5. <div ng-class="textType" style="font-size: x-large;">xpy0928 from cnblogs</div>
  6. </div>

效果:

 

ng-class使用数组(二)

ng-class作为数组来选择样式通过[]来实现,如下:

  1. <div class="well">
  2.  
  3. <input type="text" ng-model="styleOne" class="form-control">
  4. <input type="text" ng-model="styleTwo" class="form-control">
  5.  
  6. <div ng-class="[styleOne, styleTwo]" style="font-size: x-large;">xpy0928 from cnblogs</div>
  7. </div>

效果:

 

ng-class使用评估表达式(三)

何为评估表达式即当我们定义的变量为true时则显示对应的样式,否则不予应用。我们来看看代码:

  1. <div class="well">
  2. <input type="checkbox" ng-model="danger"> Good luck to u?
  3. <input type="checkbox" ng-model="wrong"> u are wrong?
  4. <br />
  5. <span ng-class="{ 'btn-danger': danger, 'btn-success': wrong }" style="font-size: x-large;">
  6. xpy0928 from cnblogs
  7. </span>
  8. </div>

评估表达式必须要用{}来表示,相对于来说此种用法是ng-class几种方式中比较高级的用法。我们看下实际效果:

同样我们再举出一个例子,在显示列表中,给不同行着色。

  1. <div class="well">
  2. <ul>
  3. <li ng-class="{ 'text-info': $even, 'text-danger': $odd }" ng-repeat="item in items">{{ item.name }}</li>
  4. </ul>
  5. </div>

效果:

ng-class使用三元表达式(四)

三元运算符不用再做介绍了吧,我们直接上代码,演示效果:

  1. <div class="well">
  2. <ul>
  3. <li ng-class="$even ? 'btn-info' : 'btn-danger'" ng-repeat="item in items">{{ item.name }}</li>
  4. </ul>
  5. </div>

效果:

总结

 本节我们讲了讲ng-class指令,通过给出几种不同的使用方式来说明其灵活性,来告知我们在不同情况下选择适合你的场景。

 


还没有评论.