1. ASHIRIのふろんとあれ、なんだっけぇ
  2. なんだっけぇ一覧
  3. javascript
  4. 【Vue基礎】v-bindディレクティブを理解する

【Vue基礎】v-bindディレクティブを理解する

CATEGORY : javascript
【Vue基礎】v-bindディレクティブを理解する 【Vue基礎】v-bindディレクティブを理解する
今回は、JavaScriptフレームワークVueのディレクティブ、Vディレクティブの中でも頻繁に使用されるv-bindについて紹介致します。
目次

    Vディレクティブとは

    Vディレクティブとは、テンプレート(HTML)内で動的な仕組みを要素に与えるための属性です。
    v-で始まる属性により、Vueのテンプレート構文内で特別な動作を定義するために使われます。

     

    HTML属性にデータを動的にバインドするv-bind

    HTML属性にVueのデータや式の結果を紐づけるためのディレクティブで、JavaScriptの変数や状態に応じてHTMLをリアルタイムに変化させることができバインドすると言います。バインド?と感じる方もいるかもしれませんが、簡単に考えると変数割り当てなイメージでよいかと思います。

     

    基本構文

    disabled属性よりボタン制御、src属性より画像のURLバインド、alt属性より画像の説明を取得などv-bindはなんでもいけちゃいますね。

     

    
    <template>
    <!-- 通常の書き方 -->
      <a v-bind:href="siteUrl">リンク</a>
    <!-- 省略形(よく使われる)の書き方 -->
      <a :href="siteUrl">リンク</a>
    </template>
    
    <script setup>
      import { ref } from "vue"
      const url = ref("https://nandakke-ashiri.net/")
    </script>
    

     

     

    画像データ取得

     

    
    <template>
      <img :src="imgUrl" :alt="imgAlt">
    </template>
    
    <script setup>
    const imgUrl = 'https://nandakke-ashiri.net/banner.jpg'
    const imgAlt = '画像内容'
    </script>
    

     

     

    Composition APIを使う

    styleObject を変更すれば、自動的にスタイルが更新できます。

     

    
    <template>
      <div :style="objectStyle">Composition API</div>
    </template>
    
    <script setup>
    import { reactive } from 'vue'
    const objectStyle = reactive({
      color: '#fff',
      backgroundColor: '#082C53',
      padding: '10px'
    })
    </script>
    

     

     

    複数スタイル組み合わせ

     

    
    <template>
      <div :style="[baseStyle, conditionStyle]">配列による複数スタイル</div>
    </template>
    
    <script setup>
    import { reactive, ref } from 'vue'
    
    const baseStyle = reactive({
      fontSize: '16px',
       backgroundColor: '#082C53',
    })
    
    const isError = ref(true)
    
    const conditionStyle = computed(() => ({
      color: isError.value ? 'red' : 'black'
    }))
    </script>
    

     

     

    条件にてクラス切り替え

     

    
    <template>
      <div :class="{ active: isActive, 'is-error': hasError }">条件付きクラス</div>
    </template>
    
    <script setup>
    import { ref } from 'vue'
    
    const isActive = ref(true)
    const hasError = ref(false)
    </script>
    

     

    isActive が true であれば、activeクラスが付き、hasError が true であれば、is-errorクラスが付きます。 クラスリストはそれに応じて更新されます。

     

     

    まとめ

    いかがでしたでしょうか。今回は、JavaScriptフレームワークVueのリアクティブv-bindについて、ご紹介させていただきました。V-bindは、HTML要素に動的にCSSクラスを付けるための超便利なディレクティブで、UIの状態によってクラスを切り替えたい時などに最適ですね。

    以上となります。できる限りわかりやすく伝えようとしても書くのは難しいです。
    コードや記事の書き方について気になるところがあれば、アドバイスいただけると嬉しいです。

    【Vue基礎】v-bindディレクティブを理解する
    CATEGORY : javascript

    アシリソリューション

    アシリソリューション

    アシリ・ソリューション

    要件定義からブラッシュアップ/実装運用まで一貫して担当。また内部対策を中心に、GTM・GA4・Looker Studioと分析・改善案の策定も進めています。北緯43度マルチエンジニア

    最近のなんだっけぇ

    1. 【Vue基礎】v-onディレクティブを理解する

      【Vue基礎】v-onディレクティブを理解する

    2. 【Vue基礎】v-modelディレクティブを理解する

      【Vue基礎】v-modelディレクティブを理解する

    3. 【javaScript基礎】reduce メソッドを理解する

      【javaScript基礎】reduce メソッドを理解する

    4. 【Vue基礎】Vueリアクティブを理解する

      【Vue基礎】Vueリアクティブを理解する

    5. 【Vue基礎】算出プロパティcomputedを理解する

      【Vue基礎】算出プロパティcomputedを理解する

    6. 【PHP基礎】よく使う文字列操作関数

      【PHP基礎】よく使う文字列操作関数

    1. API
    2. computed
    3. css
    4. ECMA
    5. javascript
    6. jquery
    7. php
    8. reactive
    9. reduce メソッド
    10. ref
    11. sass
    12. SSH
    13. v-bind
    14. v-on
    15. Vue
    16. Vディレクティブ
    17. wordpress
    18. セキュリティ対策
    19. 入れ子
    20. 繰り返し処理
    21. 関数