如何在按钮内部使用ngIf?

huangapple go评论65阅读模式
英文:

How to use ngIf inside a button?

问题

我有一个按钮,其中我需要在 PC 上显示整个按钮,但在移动设备上只显示按钮而不显示 commonActions.cancel

我使用 isMobile() 函数来实现这一功能,但我不知道在哪里放置 ngIf,以便只添加/删除文本,而不影响按钮或图标。

英文:

I have a button

<button class="mx-2" mat-button type="button" (click)="close()"
        name="buttonClose">
    <mat-icon>cancel</mat-icon>
    {{t('commonActions.cancel')}}
   </button>

where i have to show the whole button when on PC but only show the button without commonActions.cancel when on mobile.

I use isMobile() function for that but i dont know where to place the ngIf, so that only the text gets added/removed, not the button or icon

答案1

得分: 5

你需要将文本放在文本标签内,例如(span、p...),然后在其中添加ngIf,以下是一个示例:

<button class="mx-2" mat-button type="button" (click)="close()"
        name="buttonClose">
    <mat-icon>cancel</mat-icon>
    <span *ngIf="!isMobile()">{{t('commonActions.cancel')}}</span>
</button>
英文:

You need to put the text in a text tag like (span, p ... ) and add the ngIf inside it , here's an example :

  &lt;button class=&quot;mx-2&quot; mat-button type=&quot;button&quot; (click)=&quot;close()&quot;
            name=&quot;buttonClose&quot;&gt;
        &lt;mat-icon&gt;cancel&lt;/mat-icon&gt;
        &lt;span *ngIf=&quot;!isMobile()&quot; &gt;{{t(&#39;commonActions.cancel&#39;)}}&lt;/span&gt;
       &lt;/button&gt;

答案2

得分: 3

你最佳的选项是在这种情况下使用 <ng-container>

<ng-container *ngIf="!isMobile()">{{t('commonActions.cancel')}}</ng-container>
英文:

your best option is to use &lt;ng-container&gt; in this case:

 &lt;ng-container *ngIf=&quot;!isMobile()&quot;&gt;{{t(&#39;commonActions.cancel&#39;)}}&lt;/ng-container&gt;

huangapple
  • 本文由 发表于 2023年2月6日 20:42:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/75361446.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定