首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ng类的字体可怕行为

使用ng类的字体可怕行为
EN

Stack Overflow用户
提问于 2018-09-22 15:29:15
回答 2查看 2.9K关注 0票数 0

所以我的代码是角版本5。

我有一个有图标的按钮。我正在努力使图标充满活力。所以我想在发送图标fa fa-paper-plane和加载图标fa fa-spinner fa-spin之间进行转换。当我发送消息时,我应该显示旋转器,当我得到消息时,我应该显示纸面图标。

案例1)我给了fafa-spinnerfa-paper-plane,它们都不起作用。

代码语言:javascript
复制
<div class="send">
  <button type="submit" class="message-submit" id="btn-submit" (click)="onSubmit()">
    <i [ngClass]="{ 'fa fa-spinner fa-spin': true, 'fa fa-paper-plane': false }" aria-hidden="true" title="send"></i>
  </button>
</div>

这是下面的输出,我得到一个方形图标,而不是旋转器。

案例2)在这个例子中,我给出了fa以及fa-spinner fa-spinfa-paper-plane

代码语言:javascript
复制
<div class="send">
  <button type="submit" class="message-submit" id="btn-submit" (click)="onSubmit()">
    <i [ngClass]="{ 'fa fa-spinner fa-spin': false, 'fa fa-paper-plane': true }" aria-hidden="true" title="send"></i>
  </button>
</div> 

所以现在这种事发生了。

所以现在你可以看到,在这两种情况下,我刚刚交换了真正的假值。所以我得出一个结论,我的旋转器不起作用。但这件事发生了

案例3)我再次给出了fafa-spinnerfa-paper-plane。但我已经互换了fa-spinnerfa-paper-plane的位置,如下所示。

代码语言:javascript
复制
<div class="send">
  <button type="submit" class="message-submit" id="btn-submit" (click)="onSubmit()">
    <i [ngClass]="{ 'fa fa-paper-plane': true, 'fa fa-spinner fa-spin': false }" aria-hidden="true" title="send"></i>
  </button>
</div> 

但这是输出,在那里,我再次得到一个盒子,而不是纸飞机,这次(我认为这是好的)。

现在,在下面,您可以看到,我已经交换了真正的假值。

代码语言:javascript
复制
<div class="send">
  <button type="submit" class="message-submit" id="btn-submit" (click)="onSubmit()">
    <i [ngClass]="{ 'fa fa-paper-plane': false, 'fa fa-spinner fa-spin': true }" aria-hidden="true" title="send"></i>
  </button>
</div> 

这个给了我这个输出。

塔达。旋转器也起作用了。

从这四个条件可以看出,如果将旋转平面和纸平面放置在第二位置中,那么很明显,旋转平面和纸平面都在正常工作。

有人能帮我修理一下吗?

PS:是的,我没有使用true和false (我有一个标志变量)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-22 15:54:16

当对象的键是单个类时,它似乎工作得最好。

相反,您可以这样做:

代码语言:javascript
复制
class="fa" [ngClass]="{'fa-paper-plane': true, 'fa-spinner': false, 'fa-spin': false }"

因为fa类应该始终应用,所以它是在一个普通的class属性中完成的

票数 4
EN

Stack Overflow用户

发布于 2018-09-22 21:25:12

当计算表达式为true时,在ngClass中传递的类被添加到元素的classList中,当表达式被计算为false时,在ngClass中传递的类将从元素的classList中删除。例子:

代码语言:javascript
复制
<div>
  <p>
    <i [ngClass]="{'fa fa-spinner fa-spin': false, 'fa fa-telegram-plane': false}"> </i>
    Random Text
  </p>

  <!-- DOM will have   <i> </i> -->

  <p>
    <i [ngClass]="{'fa fa-spinner fa-spin test test1234': true, 'fa fa-telegram test test1234' : false}"> </i>
    Random Text
  </p>

  <!-- DOM will have   <i class="fa-spinner fa-spin"> </i> -->


  <p>
    <i [ngClass]="{'fa fa-spinner fa-spin': false, 'fa fa-telegram': true}"> </i>
    Random Text
  </p>

  <!-- DOM will have   <i class="fa fa-telegram"> </i> -->

  <p>
    <i [ngClass]="{'fa fa-telegram test test1234': false, 'fa fa-spinner fa-spin test test1234': true}"> </i>
    Random Text
  </p>

  <!-- DOM will have   <i class="fa fa-spinner fa-spin test test1234"> </i> -->

</div>

示例代码:https://stackblitz.com/edit/angular-ngclass-kmherp?file=app%2Fapp.component.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52458139

复制
相关文章

相似问题

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