【问题标题】:Use *ngIf with Ionic将 *ngIf 与 Ionic 一起使用
【发布时间】:2018-12-06 13:50:00
【问题描述】:

早上好。 我正在开发一个应用程序,其中我在同一个数组(对象)上有客户和发票。 问题是我将它们全部显示出来,并且有一个名为 client 的布尔属性,它指示此对象是客户还是发票(真假)。

我正在做一个向他们展示的事情,而我想做的是以发票以外的另一种方式向客户展示。

我试过了,效果很好:

<button ion-item *ngFor="let item of items" (click)="itemSelected(item)">
  {{ item.client? "Client" : item.text}}
</button>

但正如我所说,我想做的是更改客户端颜色,如果它们不在某个标签内,我将无法做到。我遇到的麻烦是如果它是客户端,则创建一个 if-else 来显示一个标签,如果不是,则显示另一个。

我也试过:

<button ion-item *ngFor="let item of items" (click)="itemSelected(item)">
  <p *ngIf="item.client == false">{{item.text}}</p>
  <p *ngIf="item.client == true">{{item.text}}</p>
</button>

但同样,作为其他事情它不起作用。 很高兴找到解决方案,谢谢!

【问题讨论】:

    标签: angular ionic-framework


    【解决方案1】:

    以角度方式,您可以使用 ngClass 以获得更好的渲染效果。

    例如:[ngClass]="{'first': true, 'second': true, 'third': false}"

    根据条件调用css中的类。

    你可以试试这个来解决问题。

    <button ion-item *ngFor="let item of items" (click)="itemSelected(item)">
      <p [ngClass]="{'first': item.client=='Client', 'second': item.text=='data'}">{{item.client ? 'Client' : item.text}}</p>
    </button>
    

    ngClass 中的任何疑问请查看此链接https://angular.io/api/common/NgClass

    我希望它会起作用

    【讨论】:

    • 酷,这个很有趣。正如您在后面的一个答案中看到的那样,我正在讨论为什么

      包装在我绑定内容时不起作用,但在您的情况下,它运行良好。谢谢,你的第一点很好的回应就到这里了;)

    【解决方案2】:

    你可以这样做

     <p *ngIf="item.client">Client</p>
     <p *ngIf="!item.client">{{item.text}}</p>
    

    【讨论】:

    • 我现在正在尝试这个,问题是如果你把它放在 里面它会起作用,但如果它放在

    • 这很奇怪,你能制作一个stackblitz
    • 当然,看,我是在“主页”页面上完成的。这是一个简单的项目展示。在一个中,我使用离子标签和按钮以及另一个中的 p(未显示),现在比问题本身更需要研究,哈哈stackblitz.com/edit/ionic-zvh4cr
    【解决方案3】:

    试试这个...

    <button ion-item *ngFor="let item of items" (click)="itemSelected(item)"
        [class.bg-client]="item.client" 
        [class.bg-invoice]="!item.client" >
      {{item.client ? 'Client' : item.text}}
    </button>

    bg-clientbg-invoice 可以替换为您的类。

    【讨论】:

    • 它现在不起作用,但我知道了。我不知道你可以把它写成 [class] = "condition",这是一种已知的做法吗?
    • 你可以这样做或 [ngClass]="{'bg-client': item.client, 'bg-invoice': !item.client}"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多