微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[Angular] ngClass conditional

Using ngClass for conditional styling,here is the usage from the docs:

/**
 * @ngModule CommonModule
 *
 * @usageNotes
 * ```
 *     <some-element [ngClass]="‘first second‘">...</some-element>
 *
 *     <some-element [ngClass]="[‘first‘,‘second‘]">...</some-element>
 *
 *     <some-element [ngClass]="{‘first‘: true,‘second‘: true,‘third‘: false}">...</some-element>
 *
 *     <some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
 *
 *     <some-element [ngClass]="{‘class1 class2 class3‘ : true}">...</some-element>
 * ```
 *
 * @description
 *
 * Adds and removes CSS classes on an HTML element.
 *
 * The CSS classes are updated as follows,depending on the type of the expression evaluation:
 * - `string` - the CSS classes listed in the string (space delimited) are added,* - `Array` - the CSS classes declared as Array elements are added,* - `Object` - keys are CSS classes that get added when the expression given in the value
 *              evaluates to a truthy value,otherwise they are removed.
 *
 * @publicApi
 */

 

It is also recommended when the conditional logics is complicated,we can using Function:

<div [ngClass]="getCondClass(i)" *ngFor="let item of items as collection; index as i; first as isFirst; last as isLast; even as isEven; odd as isOdd;">
  {{i + 1}}: {{item}} -- {{collection}}
</div>
  getCondClass (index) {
    if (index + 1 === 3) {
      // Using array to add ‘third‘,‘very*important‘ classes
      return [third,very-important];
    }

    if (index === this.items.length - 1) {
      // Using string to add class
      return last;
    }

    if (index === 0) {
      // Using object to add class
      return {first: true};
    }
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐