[Vue.js] 표시된 후 3초 후에 자동으로 사라지는 섬광 메시지의 예시 코드

7104 단어 Vue.js

입문


표시된 후 3초 후에 자동으로 사라지는 플래시 메모리 예시 코드입니다.
※ 단일 파일 구성 요소이므로 복사를 통해 동작을 확인할 수 있습니다.

환경

OS: macOS Catalina 10.15.1
Vue: 2.6.10

결론: 인코딩


※ 코드에는 간단한 설명이 기재되어 있습니다.
Sample.vue
<template>
  <div>

    <!-- v-ifで<script>内のshowがtrueであれば表示する -->
    <div
      class="flash"
      v-if="show === true"
    >
      this is flash message!
    </div>

    <!-- clickしたらmethods:{}内のshowFlashが発火する -->
    <button
      @click="showFlash"
    >
      show flash message
    </button>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        show: false,
      }
    },

    // Vueインスタンスに変化があったら発動する
    updated() {

      // setTimeoutで3000ms後にshowをfalseにする
      setTimeout(() => {
        this.show = false}
        ,3000
      )
    },
    methods: {
      showFlash(){
        this.show = true;
      }
    }
  }
</script>

<style>
.flash {
  width: 200px;
  height: auto;
}
button {
  width: 200px;
  height: 30px;
  background: red;
  border-radius: 5px;
}
</style>

2020/01/22 수정 내용 추가


@aotoriii 선생님의 교수님, 아래에 재구성한 것이 기재되어 있습니다.
.선생님, 특별히 지적해 주셔서 감사합니다
Sample.vue
<template>
  <div>

    <!-- v-ifで<script>内のshowがtrueであれば表示する -->
    <div
      class="flash"
      v-if="show"
    >
      this is flash message!
    </div>

    <!-- 略 -->
</template>

<script>
  export default {
//...略
    methods: {
      showFlash(){
        this.show = true;
      // setTimeoutで3000ms後にshowをfalseにする
        setTimeout(() => {
          this.show = false}
          ,3000
        )
      }
    }
  }
</script>

끝내다


끝까지 읽어주셔서 감사합니다
누구한테 참고가 됐으면 좋겠어요

참고로 사이트 (항상 감사합니다)

  • @aotoriii
  • Vue 인스턴스 - Vue.js
  • 좋은 웹페이지 즐겨찾기