Vue優(yōu)化9法

總結(jié)2019年3月vue開發(fā)大會Cuillaume Chau發(fā)表的Vue性能優(yōu)化9法

其中包括:

  • 函數(shù)型組件
  • 子組件拆分
  • 局部變量
  • 或用v-show 減少v-if
  • 使用keep-alive
  • 活用延遲加載( Defer )
  • 分批處理( Time slicing )
  • 非響應(yīng)模式( non-reactive )
  • 僅渲染可視化部分

詳細:

  1. 函數(shù)型組件

Vue.js 組件提供了一個 functional ,設(shè)置后,就可以讓組件變?yōu)闊o狀態(tài)、無實例的函數(shù)化組件。因為只是函數(shù),所以渲染的開銷相對來說,較小。

<template functional>
  <div>{{props.value}}</div>
</template>
<script>
export default {
  props:[ 'value' ]
}
</script>
  1. 子組件拆分

將一些可復(fù)用的組件單獨拆分為一個組件。

  1. 局部變量
 data() {
    return {
      msg: 0
    }
  },
  computed: {
      base() {
          return 10
      }
  },
  methods: {
      result(){
        //這里用一個變量接收下,就不用每次循環(huán)調(diào)用計算屬性的base了,可以提高效率
        const base = this.base;
          for(let i=0;i<1000000;i++){
              this.msg += base
          }
      }
  },
  mounted(){
    this.result();
  }
  1. 活用v-show,少用v-if

這個就明白多了,v-show是不操作網(wǎng)頁的DOM樹的,所以 v-show要比v-if更快,但是也各有優(yōu)劣

  1. <keep-alive>

<keep-alive>是Vue的內(nèi)置組件,能在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM。
<keep-alive> 包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀它們。
<keep-alive> 與 <transition>相似,只是一個抽象組件,它不會在DOM樹中渲染(真實或者虛擬都不會),也不在父組件鏈中存在,比如:你永遠在 this.$parent 中找不到 keep-alive 。

<keep-alive>
  <router-view/>
</keep-alive>
  1. 活用延遲裝載( Defer )

待補充。。。

  1. 分批處理

待補充。。。

  1. 非響應(yīng)模式( 非觀察模式, non-reactive )

待補充。。。

  1. 僅渲染可視化部分

待補充。。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容