原创 如何選擇一個UI組件庫

在項目快速開發的過程,選擇一個好的UI組件庫可以減少大量造輪子的時間,從而提升開發效率,如果組件庫的穩定性以及功能性不夠強大,將大大延長開發週期。所以這裏提供六個考慮的因素來選擇一個UI組件庫。 六個因素 基礎組件是否齊全 組件的

原创 一文讀懂HTTP緩存機制

一句話概況:本地緩存請求到的資源,後續請求儘可能直接複用這些資源,減少Http請求,從而顯著提高網站和應用程序的性能。 那麼什麼時候緩存資源到本地?緩存資源什麼時候過期?什麼情況下使用這些緩存的資源呢?本文就帶着這三個問題開始展開

原创 巧用Vue-Router路由守衛實現路由權限控制和加載進度

在系統路由跳轉前做權限校驗,是經常遇到的需求。本文將使用Vue-Router中的路由守衛功能實現權限控制和加載進度。 路由守衛 Vue-Router提供了兩個鉤子函數,分別是前置守衛beforeEach和後置守衛afterEach

原创 設計一個簡單的Vue模態組件

在使用ElementUI組件庫中,MessageBox組件(包括注入原型鏈中的$confirm方法,實際上就是MessageBox實例)和Dialog組件本質上都是模態,但ElementUI並未提供一個統一的模態組件,雖然Dial

原创 一文讀懂什麼是數字證書(略長)

希望通讀這篇文章,初學者可以較爲深入的瞭解數字證書的發展、原理及應用,熟練者可以查漏補缺。 如果想要了解HTTPS協議,那麼數字證書就是一個逃不過的坎,在HTTPS協議握手加密過程中,數字證書有着舉足輕重的地位。 本文將從以下幾個

原创 【譯】詳解HTML中property和attribute的區別

翻看Vue API文檔時發現v-bind有一個修飾符.prop比較特殊: .prop - 作爲一個 DOM property 綁定而不是作爲 attribute 綁定。 文檔還給了一個stack overflow上的問題差別在

原创 詳解TCP協議三次握手和四次揮手

TCP建立連接和斷開連接很重要,但是自己又經常忘記一些具體細節,回顧的時候要麼到收藏夾裏找文章,要麼是百度/谷歌一波,偶爾一兩次還好,次數多了略顯麻煩,遂趁這次溫故的機會,記錄下來,方便自己也方便他人~ TCP報文格式 TCP報文

原创 chrome瀏覽器免本地編譯添加react devtools調試工具

網上教程很多都是下載源碼,本地編譯,在添加至拓展程序中。現在facebook開發團隊已經直接給出了編譯之後的文件,直接下載添加至拓展程序中即可。 按照以下步驟即可: 點擊鏈接https://github.com/facebook

原创 前端nodejs服務CPU爆表的原因和解決辦法

另一個項目的前端離職了,中途接手該項目,在本地構建啓動之後,發現nodejs的服務cpu佔用率高達90%多,遂尋找原因和解決辦法。 我已經做好了遇到問題和困難的準備。 — 某接盤俠 原因 本地開發時,通常會使用熱更新服務,設置

原创 Vue組件深度(deep)監聽props對象屬性無效的解決辦法

在項目中有一個表單用到的地方很多,所以將其抽出來做成了一個業務組件,通過類型爲Object的prop傳遞數據,在業務子組件中監聽該對象prop。但是在開發過程中發現即使使用deep深度監聽也無法監聽到prop的數據變化,例如下面

原创 margin-left: auto元素右對齊以及margin: 0 auto水平居中的原理

一、margin-left: auto;元素右對齊 要實現上述右對齊的方式有很多,比如: flex設置justify-content: flex-end absolute定位設置rigth: 0 float: right 當

原创 React學習筆記

項目需要使用React進行開發,故從Vue與React的異同切入學習,記錄一下學習筆記 React與Vue的區別 React整體的思路就是函數式,所以推崇純組件,數據不可變,單向數據流(單向綁定),當然需要雙向的地方也可以做到,

原创 理解:last-child和:last-of-type

前提知識 CSS選擇器匹配規則:從右向左 所有選擇器全部匹配CSS樣式纔會生效 同一樣式同一權重值,靠後聲明的纔會生效 :last-child 規範文檔: represents the last element among

原创 vue elementUI組件表單動態驗證失效的問題與解決辦法

一、緣由 在項目中,有一個需求是需要根據條件給表單項添加驗證屬性prop確定是否驗證表項。 二、第一次實現與遇到的問題 比如銀行卡號根據輸入年齡進行判斷,如果大於等於18歲才需要填入銀行卡號。最先的想法先設置好el-form的rules,

原创 elementUI對話框Dialog組件數據初始化的方法

使用Dialog彈窗時,在打開或者關閉的時候需要對數據進行初始化,在初始過程中,一旦出現遺漏就有可能導致bug。 就好像下面這種方式,不但代碼冗餘,且不易維護,一旦新增字段又需要一個個修改。 如何結局這個問題呢?可以考慮使用v-if對D