第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

動態(tài)綁定圖像 Angular 8

動態(tài)綁定圖像 Angular 8

白衣非少年 2021-10-29 15:51:13
我object array需要根據(jù)信用卡類型動態(tài)添加圖像圖標,.ts 文件  icon: any;  savedCreditCard =   [  {    cardExpiryDateFormat: "05/xx",    cardNumberLast: "00xx",    cardId: "xxx",    cardType: "Mastercard",    cardExpiryDate: "xx05",    paymentChannelId: 9,    cardNumberMasked: "512345XXXXXXXXXX"  },  {    cardExpiryDateFormat: "11/xx",    cardNumberLast: "58xx",    cardId: "xxx",    cardType: "Amex",    cardExpiryDate: "xx11",    paymentChannelId: 16,    cardNumberMasked: "379185XXXXXXXXX"  }]  ngOnInit() {        this.savedCreditCard.forEach((x => {      if (x.cardType === 'Mastercard') {        this.icon = '../../assets/svg/logo-mastercard.svg';      } else if (x.cardType === 'Amex') {        this.icon = '../../assets/svg/icon-amex.svg';      }    })    );  }在 HTML 模板上,我嘗試根據(jù)信用卡類型動態(tài)綁定圖像,這就是我嘗試過的,html文件    <div class="flex-float">      <div class="float-end">        <img class="select--icon" [src]="icon" />        <p class="selected--desc is-hidden-mobile-xs">          {{ selectedCard.cardType }}        </p>      </div>    </div>問題是我只有相同的圖標,即使是萬事達卡或美國運通卡,我想在 stackblitz 上重現(xiàn),但它不支持靜態(tài)圖像,有人知道如何解決這個問題或任何建議嗎?
查看完整描述

1 回答

?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

只有一個icon變量,每次forEach()迭代時都會重新分配一個新的圖標路徑。這一張icon用于所有卡片,因此只顯示一張圖像。


方法一:


你可以有一個像這樣的圖標對象


var icons = {

 'Mastercard': '../../assets/svg/logo-mastercard.svg',

 'Amex': '../../assets/svg/icon-amex.svg'

}; 

而在 HTML 中,只需根據(jù)卡片類型使用適當?shù)膱D標即可。


<div class="flex-float">

  <div class="float-end">

    <img class="select--icon" [src]="icons[selectedCard.cardType]" />

      <p class="selected--desc is-hidden-mobile-xs">

        {{ selectedCard.cardType }}

      </p>

  </div>

</div>

無需對saveCreditCard數(shù)組中的任何更改ngOnInit()。


方法二:


如果要在 中的每個對象上存儲圖標saveCreditCard,則可以使用Array.map()。


在 中ngOnInit(),為每張信用卡分配圖標。


ngOnInit() {

  this.savedCreditCard = this.savedCreditCard.map(card => {

    let icon;

    if (card.cardType === 'Mastercard') {

      icon = '../../assets/svg/logo-mastercard.svg';

    } else if (card.cardType === 'Amex') {

      icon = '../../assets/svg/icon-amex.svg';

    }


    return {...card, "icon": icon};

  }); 

}

然后在 HTML 中,使用卡片的icon屬性。


<div class="flex-float">

  <div class="float-end">

    <img class="select--icon" [src]="selectedCard.icon" />

      <p class="selected--desc is-hidden-mobile-xs">

        {{ selectedCard.cardType }}

      </p>

  </div>

</div>


查看完整回答
反對 回復 2021-10-29
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號