Angular 2如何使用变量作为ngClass的值

标签 angular ng-class

我想为将添加到类列表的 ngClass 的值使用一个变量。我的用例是我有一个图像 Sprite 集合,有一个基本 Sprite ,然后是一个事件状态,它与基本 Sprite 具有相同的文件名,只是在末尾添加了“-active”。我通过为元素提供一个与所需 Sprite 文件名匹配的类来将 Sprite 添加到文档中。当用户将鼠标悬停在元素上时,我需要在两个 Sprite 之间来回切换。我该怎么做?

例如像这样的东西(注意:tool.name === 要显示的 Sprite 的文件名):

<li *ngFor='let tool of tools' (mouseenter)='tool.isActive = true' (mouseleave)='tool.isActive = false'>
  <span [ngClass]='{ {{tool.name}}-active: tool.isActive, {{tool.name}}: !tool.isActive }'>{{tool.name}}</span>
</li>

最佳答案

而不是类 .tool-name-active 您可以将您的类(class)设置为 .tool-name.active 然后您可以执行以下操作

<li *ngFor='let tool of tools'>
  <span class="{{tool.name}}" [ngClass]='{active: isActive}'>{{tool.name}}</span>
</li>

关于Angular 2如何使用变量作为ngClass的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922502/

相关文章:

javascript - 在 AngularJS 中交替使用多个 CSS 类

angular - NGXS:如何测试一个 Action 是否被调度?

angular - ng bootstrap typeahead 不适用于 Angular react 形式

angular - Jasmine Angular 4 单元测试 router.url

带有 --watch=false 的 Angular CLI 6 覆盖返回错误

javascript - 将默认选项卡设置为 Angular.js 选项卡

Angular 4. 使用子模块进行路由

javascript - ng-class 禁用 ng-table header 的 ng-show?

javascript - 在 svg 元素上使用带有 d3.js 的 Angular ng-class

AngularJS ng 类表达式未正确更新