วิธีเปลี่ยนหน้าให้ราบรื่นด้วย Vuetify

ฉันยังใหม่กับ Vue/Vuetify และมีคำถามเกี่ยวกับการเปลี่ยนหน้า/การเรนเดอร์บนแคชรีเฟรช (ใน Chrome):

  1. ตัวอย่างเช่น ฉันรวมสนิปเล็กๆ ไว้ในโปรเจ็กต์ของฉัน: codepen.io/vreaxe/pen/oeWwOJ

  2. เมื่อฉันรีเฟรชแคช (Ctrl+f5) หน้า (ทดสอบใน Chrome) ฉันเห็นเนื้อหาในช่วงเวลาสั้น ๆ เช่น สิ่งนี้ หลังจากนั้น ฉันเห็นหน้าที่แสดงผลในลักษณะนี้ สิ่งนี้

  3. ตอนนี้ฉันสงสัยว่าจะแก้ไขได้อย่างไร ดังนั้นฉันจึงไม่เห็นเนื้อหาก่อนที่หน้าจะแสดงผลทั้งหมดหรือการแสดงผลไม่ใช่ปัญหา

  4. ต่อไปนี้คือตัวอย่างว่าควรมีลักษณะอย่างไร ในการรีเฟรชใดๆ หน้าเว็บจะแสดงผลได้อย่างสมบูรณ์และมีการเปลี่ยนแปลงช่วงสั้นๆ แต่ฉันไม่สามารถหาวิธีเข้าถึงได้


person Marvin Kramer    schedule 14.11.2018    source แหล่งที่มา


คำตอบ (1)


คุณสามารถตั้งค่าพารามิเตอร์การโหลดทั่วโลกและกำหนดให้เป็นเท็จตามค่าเริ่มต้น จากนั้นตั้งค่าเป็นจริงใน beforeMount และ false ในการติดตั้ง

//store/index.js
...
state: {
  loading: false,
},


//yourComponent.vue
<template>
  <div v-if="this.$store.state.loading">
   //a spinner or progress bar
  </div>
  <div v-else>
  //your component code
  </div>
</template>

<script>
 export default {
    beforeMount() {
      this.$store.state.loading = true
    }
    mounted() {
      this.$store.state.loading = false
    }
  }
</script>

สิ่งเหล่านี้จะไม่ถูกเรียกหากคุณใช้การเรนเดอร์ฝั่งเซิร์ฟเวอร์ ดังนั้นคุณต้องทำการเรียกการโหลดในวิธีการที่เรียกว่าการเริ่มต้น

person Andrew1325    schedule 14.11.2018