簡體   English   中英

如何在 vue.js 中動態切換 3 個或更多字體真棒圖標

[英]how to toggle 3 or more font-awesome icons dynamically in vue.js

我正在用 vue 創建一個石頭剪刀布迷你游戲,我試圖找到一種方法來切換變量等類。 例如:

<template>
  <div id="human">
    <div class="text-center">
      <div class="h2 mb-5">Human</div>

      <!-- PLEASE CHECK BELOW HERE -->
      <i class="play-hand far fa-hand-{{ iconName }}"></i>
      <!-- OR -->
      <i class="play-hand far {{ icon }}"></i>

      <div class="h3 mt-4">{{ activeHand }}</div>
      <div class="row select-hand mt-4">
        <div class="col-md-4">
          <i class="far fa-hand-rock" @click="setHand(hands[0])"></i>
        </div>
        <div class="col-md-4">
          <i class="far fa-hand-paper" @click="setHand(hands[1])"></i>
        </div>
        <div class="col-md-4">
          <i class="far fa-hand-scissors" @click="setHand(hands[2])"></i>
        </div>
      </div>
    </div>
  </div>
</template>

我標有評論。 我很確定你得到了我想要做的。 我不想為此使用document.querySelector()


<script>
export default {
  data: () => {
    return {
      activeHand: 'Choose a Hand',
      hands: [
        {
          name: 'Rock',
          strength: 'scissor',
          weakness: 'paper',
          icon: 'fa-hand-rock'
        },
        {
          name: 'Paper',
          strength: 'rock',
          weakness: 'scissor',
          icon: 'fa-hand-paper'
        },
        {
          name: 'Scissor',
          strength: 'paper',
          weakness: 'rock',
          icon: 'fa-hand-scissors'
        }
      ]
    }
  },
  methods: {
    setHand (hand) {
      console.log(hand.name)
      this.activeHand = hand.name
      console.log(hand.icon)

      let playHandSelector = document.querySelector('.play-hand')
      playHandSelector.classList.remove(this.activeHand.includes(hand))
      playHandSelector.classList.add(hand.icon)
    }
  }
}
</script>

<style lang="scss">
#human .far {
  transform: rotate(90deg);
}
</style>

必須有一種 vue 方式來通過名稱動態切換類。 也許沒有真/假切換?

您必須使用 Vue 的v-bind指令進行類綁定,並將任何變量用法放入該標記中。 看看這里的文檔。

最終你的代碼可能看起來像這樣。

<i class="play-hand far" :class="icon"></i>

請記住在使用對象數組時使用正確的類綁定語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM