首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角2-根据属性值设置的类

角2-根据属性值设置的类
EN

Stack Overflow用户
提问于 2017-08-06 09:51:21
回答 1查看 442关注 0票数 0

假设我有几个按钮来对列表进行排序:

代码语言:javascript
复制
<a class="order-by" href="#" (click)="Sort('id')" [ngClass]="{active: sortBy==='id'}">Id</a>
<a class="order-by" href="#" (click)="Sort('name')" [ngClass]="{active: sortBy==='name'}">Name</a>
<a class="order-by" href="#" (click)="Sort('age')" [ngClass]="{active: sortBy==='age'}">Age</a>

我两次使用每个按钮的值('id‘、'name’& 'age') --用于click事件并设置'active‘类。我想把这个价值定在一个地方--我想到了一件服装。差不多吧-

代码语言:javascript
复制
<a class="order-by" href="#" [attr.sorting-value]="id" (click)="Sort([attr.sorting-value])" [ngClass]="{active: sortBy===[attr.sorting-value]}">Id</a>

但这不管用。

还有其他的可能吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-06 10:19:13

我建议您通过*ngFor呈现这样的重复元素,因此您的模型将属于组件。

代码语言:javascript
复制
<a class="order-by" href="#"
  *ngFor="let item of list" 
  (click)="Sort(item.name)" [ngClass]="{ 'active': isActive(item.name) }">
 {{item.description}}
</a>

代码语言:javascript
复制
list = [
  {name: 'id', description: 'Id'},
  {name: 'name', description: 'Name'},
  {name: 'age', description: 'Age'},
];

isActive(name: string){
   return name === this.sortBy;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45530733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档