Vuejs進階知識(二十一)【生命週期,最佳實踐】
Vuejs
的生命週期
每個 Vuejs
的例項,都會經歷下圖的生命週期。
可以看出,基本週期是:
created
(建立好DOM)mounted
(頁面基本準備好了。)updated
(update
可以理解成人肉手動操作觸發)destroyed
(銷燬)
上面步驟中的 1,3,4都是自動觸發。 每個步驟都有對應的 beforeXyz方法
所以, 我們一般使用 mounted
作為頁面初始化時執行的方法
最佳實踐
適當的使用vuex
能不用就不用。 能用就用。
不要為了使用而使用,例如一個小方法就可以搞定的事情,搞出五個設計模式來實現。
不要過度使用CSS框架
因為CSS框架一般會大幅度增加檔案體積。 例如 bootstrap, ele.me
前端框架。 這個在低端安卓機上影響顯著。 特別是使用Android
中的 Webview
來載入H5頁面時,基本上1k大小的CSS就會消耗1ms.
而CSS
框架動輒幾百K,每次手機端都要等好久,才會開啟對應的頁面。
使用CDN
來存放圖片檔案
例如, upyun
就是個不錯的選擇。 阿里的oss
也很好。
js, css
儘量使用壓縮
我們在nginx
中可以設定這一項。 讓js, css
都以zip
的形式來傳送和接收,一般都會有效減少30%-60%的體積和傳送時間。 具體請參考nginx
文件。
靈活使用第三方Vue
外掛
例如: 輪播圖, 表單驗證等等。這些輪子都是現成的。
好的程式設計師不一定演算法好,但一定是一個對各種第三方元件見多識廣的人。
前端邏輯務必簡單
能在後臺處理的,絕對不要放在前端處理。 因為Vuejs
擅長的不是處理資料結構。
例如,前端需要展示一個列表的話,後端的介面就應該給出JSON
中的陣列, 而不是給出一個字串,然後由前端去解析。
不用寫行末分號。
Vuejs 原始碼中沒有一行有 “行末分號”。會有es
前處理器幫我們填上的。
靈活使用CSS,HTML
預處理工具
我們知道,
- JADE, HAML可以生成HTML,
- SASS, SCSS,LESS可以生成CSS
如果是公司的人數比較多,有UI, 有前端,那麼建議大家使用的話要慎重。建議直接使用原生的HTML,CSS。 因為UI設計師同學不一定看得懂SCSS
, JADE
如果是一個人獨立負責整個專案,那麼用JADE, SCSS
也沒問題。
相關文章
- Vuejs進階知識(十八)【component 進階知識】VueJS
- Vuejs進階知識(十六)【mixin】VueJS
- Vuejs進階知識(十九)【slot】VueJS
- Angular生命週期實踐Angular
- Activity 知識梳理(1) Activity生命週期
- .Net核心依賴項注入:生命週期和最佳實踐
- Vuejs進階知識(十七)【computed properties】VueJS
- Android知識重溫之生命週期Android
- Vuejs進階知識(二十四)【自定義Directive】VueJS
- 【譯】VueJS 最佳實踐VueJS
- 重新認識 React 生命週期React
- 實測Vue生命週期Vue
- React 進階二-元件最佳實踐React元件
- Android 基礎 -- Activity 生命週期實踐總結Android
- 生命週期
- Choerodon豬齒魚實踐之應用生命週期管理
- Rust 程式設計影片教程(進階)——004_3 生命週期省略Rust程式設計
- [Vue.js進階]從原始碼角度剖析Vue的生命週期Vue.js原始碼
- JavaEE進階知識學習-----SpringCloud(二)實踐準備JavaSpringGCCloud
- Maven實戰:Maven生命週期Maven
- Rust 程式設計影片教程(進階)——004_4 方法定義中的生命週期註解和靜態生命週期Rust程式設計
- Solidity的生命週期包含哪些階段?Solid
- View生命週期與Activity生命週期的關係View
- Rust 程式設計視訊教程(進階)——004_4 方法定義中的生命週期註解和靜態生命週期Rust程式設計
- 由django請求生命週期延伸出的知識點大總結Django
- 遊戲基礎知識——談新遊戲與新正規化的生命週期遊戲
- Rust 程式設計視訊教程(進階)——004_3 生命週期省略Rust程式設計
- Rust 程式設計影片教程(進階)——004_1 生命週期介紹Rust程式設計
- Rust 程式設計影片教程(進階)——004_5 生命週期的例子Rust程式設計
- 綠色的React16❤生命週期❤之實踐出真知React
- PHP 生命週期PHP
- Flutter - 生命週期Flutter
- sessionStorag 生命週期Session
- Fragment生命週期Fragment
- Activity生命週期
- vue - 生命週期Vue
- React生命週期React
- ubuntu生命週期Ubuntu