原创 爲什麼要使用虛擬DOM?

爲什麼要使用虛擬DOM 主要分爲兩個角度 1.DOM操作角度。假設狀態發生變化,我們如何將狀態的更新應用到視圖上? 直接創建元素,然後將元素覆蓋到我們需要更新的地方,這樣做固然很快捷,但是會引發頁面出現很大的變動,渲染引擎需要重新計算和渲染

原创 mint ui MessageBox prompt 可輸入消息框

首先看一下mint ui的messageBox部分 http://mint-ui.github.io/docs/#/zh-cn2/message-box 但是我想通過下面的api對這個彈框進行修改 結果

原创 Vue兄弟通信,基於$attrs及$listeners實現隔代通信

所謂隔代通信就是A 與C的通信 `` ![image.png](https://upload-images.jianshu.io/upload_images/16629650-98d2c8190caf0a10.png?imageMogr2/

原创 .sync與v-model的區別

.sync作用:實現父子組件數據之間的雙向綁定 一:.sync與v-model的共同點 都是語法糖,都可以實現父子組件中的數據的雙向通信。 .sync實現通信的方式: // 父組件 <template> <div> {{

原创 vue 虛擬dom

虛擬dom就是一個js對象 是爲了避免頁面重繪重拍搞出來的,提高渲染性能。 Virtual DOM 作用是什麼? 虛擬DOM的最終目標是將虛擬節點渲染到視圖上。但是如果直接使用虛擬節點覆蓋舊節點的話,會有很多不必要的DOM操作。例如,一個u

原创 Vue國際化(vue-i18n)

一、安裝 三種方式: 1、script引入 <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-i

原创 VS Code 離線安裝插件(中文包)

1.下載Visual Studio Code,https://code.visualstudio.com/ 2.下載插件:https://marketplace.visualstudio.com/ 搜索“language"關鍵字,在結果中

原创 webpack之tree shaking優化打包體積

前言 大家都知道webpack可以使用tree shaking優化webpack打包,但是使用時還是有幾個點要注意一下,昨晚上就因爲使用babel-loader時候將ES6模塊轉譯成CommonJS類型,導致tree shaking失效。

原创 Vue3 composition API如何實現邏輯複用

Composition API實現邏輯複用的步驟: 抽離邏輯代碼到一個函數,這個函數命令約定爲useXXX格式(這點同React Hooks) 在setup中引用函數useXXX 舉下例子,定義一個獲取當前鼠標位置的方法 第一種,直

原创 如何實現上拉加載,下拉刷新

下拉刷新和上拉加載這兩種交互方式通常出現在移動端中 本質上等同於PC網頁中的分頁,只是交互形式不同 開源社區也有很多優秀的解決方案,如iscroll、better-scroll、pulltorefresh.js庫等等 這些第三方庫使用起來非

原创 大文件上傳如何做斷點續傳?

一、是什麼 不管怎樣簡單的需求,在量級達到一定層次時,都會變得異常複雜 文件上傳簡單,文件變大就複雜 上傳大文件時,以下幾個變量會影響我們的用戶體驗 服務器處理數據的能力 請求超時 網絡波動 上傳時間會變長,高頻次文件上傳失敗,失敗後又

原创 JavaScript宏觀任務和微觀任務

在ES3 或者 更早的版本中,JavaScript並無異步操作,所以代碼給到JavaScript引擎,它就直接順次的執行,這個任務是宿主發起的任務我們可以稱之爲宏觀任務(macrotask)。 在ES5 或者 之後的版本,JavaScrip

原创 css3實現水球波紋效果

原理:父div設爲圓形,並隱藏超出範圍的內容,多個子div設爲大圓角正方形並設置背景顏色, 子div圓心設置到父div下方,並繞自己的圓心旋轉, 效果就是水球波紋。 <div class="wave"> 水球波紋效果

原创 前端數據流文件下載三種方式

1、直接使用get請求方式進行下載 window.open(`${url}?${qs.stringify(param)}`, '_blank'); 2、使用form 表單post請求進行下載: const postDownloadFile