Vue效能優化

2021-09-28 13:53:51 字數 1605 閱讀 4413

1、我們可以直接在data函式return之前直接this.***的方式掛在例項上,在methods中還可以訪問, 但是又不會觸發響應式跟蹤;

改寫後變成這樣:

data() 

}

2、v-if和v-show

if根本不會渲染該元素,所以某些想藏起來的htlm元素盡量用v-if

而一些可能通過不同切換來實現顯隱的就可以用v-show了,因為v-show無論true or false都會進行一次渲染

總結:顯隱頻率高用v-show,反則v-if

3、router裡面配置可以加上

普通寫法:

import login from '@/components/login'

,

優化:

import vue from 'vue'

import vuerouter from 'vue-router'

vue.use(vuerouter) // 註冊vue-router

const originalpush = vuerouter.prototype.push

vuerouter.prototype.push = function push(location)

const router = new vuerouter(,},,

}]

})

簡化

vue.use(router)

let routes =

let r = ['','install', 'start', 'log', 'input', 'button', 'select', 'switch', 'form', 'colorpicker', 'loading',

'icon', 'timeline', 'theme', 'react-kui', 'angular-kui', 'alert', 'message', 'notice', 'upload', 'poptip', 'menu', 'tabs', 'badge',

'checkbox', 'radio', 'datepicker', 'table', 'layout', 'page', 'modal', 'kyui-loader', 'sponsor', 'about'];

r.foreach((x) => `,

component: resolve => require([x==''?'./ui/index':`./ui/$`], resolve),

// component: r => require.ensure(, () => r(require(x==''?'/ui/index':`./ui/$`)), x)

})})let routers = new router()

export default routers

4、v-for盡量避免v-if一起用

因為:v-for 比 v-if 優先順序高,如果每一次都需要遍歷整個陣列,將會影響速度,尤其是當之需要渲染很小一部分的時候,必要情況下應該替換成 computed 屬性。

v-for一定記得繫結唯一的key

Vue效能優化

而正是這種做法引發了效能問題,要初始化乙個父元件,必然需要先初始化它的子元件,而子元件又有它自己的子元件。那麼要初始化根標籤,就需要從底層開始冒泡,將頁面所有元件都初始化完。所以我們的頁面會在所有元件都初始化完才開始顯示。這個結果顯然不是我們要的,更好的結果是頁面可以從上到下按順序流式渲染,這樣可能...

Vue效能優化

今天來談一談vue中一些效能優化的問題,僅僅是個人使用中的一些小心得,來,今天我一句廢話不多說,直接上內容好吧 1.v if和v show的使用,我們都知道這兩個都可以控制顯隱,那我們用哪個呢,個人覺得要從兩個方面入手來確定使用哪個,1.許可權的問題,只要涉及到許可權相關的展示用v if比較好 2....

vue效能優化

通常在元件使用前,需要引入後再註冊,但如果高頻元件多了後,每次都這樣做,不僅新增很多 效率還低!我們應該如何優化呢?global.js檔案 import vue from vue function changestr str const requirecomponent require.contex...