国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue 頁面加載進度條組件實例

2019-11-19 14:24:49
字體:
來源:轉載
供稿:網友

頁面加載進度條最初我是在youtube上看到的,后面幾乎在各大網站上都能見到它的身影,可以讓用戶在加載頁面的時候不會對著完全空白的頁面發呆,提升用戶體驗

但是從開發角度講,這種進度條在真實性上確實很難把握,因為在邏輯代碼加載完成之前,我們都不能統計到進度,而邏輯代碼自身的進度也無法統計。另外,我們不可能監控到所有資源的加載情況。

事實上,用戶并不是在乎你的頁面究竟加載了百分之幾,而真正關心的是離加載完還有多久,以及這個空白頁面是沒有加載完,還是加載完就是空白的。所以沒我們需要去“模擬”一個進度條,在后端數據返回前利用一個假的動畫效果模擬加載,在數據返回后讀完進度條并且隱藏。

// progress-bar.vue<template> <transition name="fade"> <div class="progress-bar" v-if="isShow"> </div> </transition></template><script type="text/babel"> export default { data() {  return {  isShow: true, // 是否顯示進度條  val: 0, // 進度  } }, props: {  /**  * 每10毫秒自增幅度  */  step: {  type: Number,  default: 5,  },  /**  * 初始值  */  initVal: {  type: Number,  default: 0,  },  /**  * 到一定進度停止  */  stopVal: {  type: Number,  default: 80,  },  /**  * 進度條繼續到成功  */  isOk: {  type: Boolean,  default: false,  }, }, mounted() {  // 初始化后加載進度,加載到百分之多少由stopVal決定  this.val = this.initVal  let step = this.step  let timer = setInterval(() => {  this.val = this.val + step  this.$el.style.width = this.val + '%'  // 父組件數據加載完前進度條最多到stopVal的這個百分值  if (this.val >= this.stopVal) {   clearInterval(timer)   return  }  }, 10) }, watch: {  /**  * 監聽組件props變化決定是否繼續加載,一般在父組件數據加載完后改變此標志位  */  isOk() {  let val = this.val  let step = this.step  let timer = setInterval(() => {   val = val + step   this.$el.style.width = val + '%'   // 加載到百分百完成   if (val >= 100) {   // 關閉定時器   clearInterval(timer)   // 加載完成關閉進度條   this.isShow = false   // 加載完成的回調   this.$emit('callback', 'load success')   return   }  }, 10)  }, }, }</script><style lang="stylus" rel="stylesheet/stylus"> .progress-bar { position fixed top 0 height 6px width 0 background-color #999 } .fade { &-enter-active, &-leave-active {  transition: all .3s } &-enter, &-leave-active {  opacity: 0 } }</style>

以上這篇vue 頁面加載進度條組件實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜新| 甘谷县| 新和县| 象州县| 罗源县| 麻阳| 通辽市| 宣恩县| 鄢陵县| 光山县| 建平县| 芦山县| 卢湾区| 新郑市| 册亨县| 新昌县| 汉阴县| 花垣县| 宁德市| 海门市| 卢氏县| 襄垣县| 昌江| 绥棱县| 赤峰市| 蒲城县| 白沙| 买车| 澄迈县| 柏乡县| 江永县| 西贡区| 永州市| 谢通门县| 台南市| 灵台县| 台北县| 双桥区| 七台河市| 博乐市| 莱芜市|