關於vue的效能優化,在這裡做乙個整理,為以後做參考。
1.優先使用v-if
v-if和v-show理論上都是作用於元素的顯示隱藏,v-if作用於dom,v-show是通過css的display來操作的,在專案中大部分盡量直接使用v-if,只有dom操作頻繁顯示和隱藏時使用v-show。
2.v-if和v-for不要一起使用
優先順序:v-for 大於 v-if
當兩個指令出現在乙個dom中時,v-for渲染的列表每乙個都要進行一次v-if判斷,而相應的列表也會重新變化。因此當需要同時使用這兩個指令時,盡量使用計算屬性,先將v-if不需要的值先過濾掉。
// 計算屬性3.v-for key避免使用index作為標識v-for不推薦使用index下標作為key的值。computed: )}
// dom
<
ul>
<
li v-for
="item in filterlist"
:key
="item.id"
>}
li>
ul>
如下圖,當index作為標識時,插入一條資料時,列表中插入的後面的值就都發生了變化,然後當前的v-for都會對key變化的資料重新渲染,但是但是其實除了插入的資料都沒有發生變化,這就導致了不必要的開銷。所以,盡量不要使用index作為標識,而是採用資料中的唯一的值,如id等字段。
使用tree-shaking
外掛程式可以將一些無用的沉澱泥沙**給清理掉。
5.釋放元件資源
什麼是資源? 每建立出乙個事物都需要消耗資源,資源不是憑空產生的,是分配出來的。所以說,當元件銷毀後,盡量把我們開闢出來的資源塊給銷毀掉,比如 setinterval , addeventlistener等,如果你不去手動給釋放掉,那麼它們依舊會占用一部分資源。這就導致了沒有必要的資源浪費。多來幾次後,可以想象下資源佔用率肯定是上公升的。
新增的事件
created() ,定時器beforedestroy()
created() ,路由懶載入的方式有兩種,一種是beforedestroy()
require
另一種是import
。當路由按需載入後,那麼vue服務在第一次載入時的壓力就能夠相應的小一些,不會出現超長白屏p0問題
。下面是兩種路由懶載入的寫法:
// require法component: resolve=>(require(['@/components/helloworld'],resolve))
// import
component: () => import('@/components/helloworld')
Mysql優化 1 表優化
mysql優化一直是個頭痛的問題,由於自己剛接觸mysql不久,故把自己的學習過程記錄於此。mysql的優化不是指某個sql的優化,而是多種優化的組合,以下列表列出一般優化的過程。mysql表的優化主要是指標的設計要符合理念 1 首先表的設計要滿足3nf 資料庫3nf 第一正規化 表的屬性具有原子性...
MySql優化 1 優化綜述
關係型資料庫 對於乙個以資料為中心的應用,資料庫的好壞直接影響到程式的效能,因此資料庫效能至關重要。一般來說,要保證資料庫的效率,要做好以下四個方面的工作 資料庫設計 表設計要符合3nf 規範的模式 但有時我們需要適當的逆正規化 sql 語句優化 索引 常用小技巧 資料庫引數配置 考hibernat...
專案整理 優化
忙完本科生的盃賽,專案暫時告一段落,之前一直趕工,凌亂,幾次demo的製作也發現測試週期過長的問題。接下來花些時間好好整理 優化一番。一 整理 最主要一點,整合所有 uml讓小組成員理解架構,分塊整理 二 優化 原渲染程式 跑程式 導網格檔案 軟體渲染 每一件都是耗時的活。優化 對光影效果要求低的 ...