Vueで閉開するメニューを実装してみた

プログラミング

今回はVueを使って、閉開するメニュー(アコーディオンメニューって言うのかな?)を実装してみました。
こういう閉開する機能を作るのはJavaScriptでも基本的なところなので、簡単に実装できるのではないかなと思います。

ロジックとしては、クリックされるごとにtrue,falseを反転させて、コンテンツ部をv-ifで表示非表示にしているだけです。

<template>
  <div class="hello">
    <div class="acordion" @click="showContent">
      <div class="acordion-title"><p>アコーディオンメニュー</p></div>
      <div v-if="isContentActive" class="acordion-content">
        <p>vueでアコーディオンメニューを実装しました。</p>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'accordionMenu',
  data: function(){
    return {
      isContentActive:false
    }
  },
  methods:{
    showContent: function(){
      this.isContentActive = !this.isContentActive;
    }
  }
}
</script>

<style scoped>
.acordion{
  margin-left:auto;
  margin-right:auto;
  width:300px;
  cursor: pointer;
  box-shadow: 10px 10px 10px rgba(0,0,0,0.4); 
}

.acordion-title{
  padding:5px;
}

.acordion-content{
  border-top:0.5px solid gray;
}
</style>

コメント

タイトルとURLをコピーしました