專案優化1

2022-07-03 08:54:09 字數 1585 閱讀 7824

關於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不需要的值先過濾掉。

// 計算屬性

computed: )}

// dom

<

ul>

<

li v-for

="item in filterlist"

:key

="item.id"

>}

li>

ul>

3.v-for  key避免使用index作為標識v-for不推薦使用index下標作為key的值。

如下圖,當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讓小組成員理解架構,分塊整理 二 優化 原渲染程式 跑程式 導網格檔案 軟體渲染 每一件都是耗時的活。優化 對光影效果要求低的 ...