用法:在下次 DOM 更新循環結束以後執行延遲迴調。在修改數據以後當即使用這個方法,獲取更新後的 DOM。css
異步更新隊列提到 DOM 的更新是異步執行的,只要數據發生變化,將會開啓一個隊列,並緩衝在同一事件循環中發生的全部數據變動。若是同一個 watcher 被屢次觸發,只會被推入到隊列中一次。html
簡單來講,就是當數據發生變化時,視圖不會當即更新,而是等到同一事件循環中全部數據變化完成以後,再統一更新視圖。vue
v-cloak 指令只是在標籤中加入一個 v-cloak 自定義屬性,在 HTML 還編譯完成以後該屬性會被刪除。
v-pre 能夠用來阻止預編譯,有 v-pre 指令的標籤內部的內容不會被編譯,會原樣輸出。react
解析和轉換 .vue 文件,提取出其中的邏輯代碼 script、樣式代碼 style、以及 HTML 模版 template,再分別把它們交給對應的 Loader 去處理。webpack
監聽地址欄中 hash 變化驅動界面變化web
用 pushsate 記錄瀏覽器的歷史,驅動界面發送變化ajax
直接在界面用普通事件驅動界面變化後端
介紹:SPA 應用就是一個 web 應用,可理解爲:是一種只須要將單個頁面加載到服務器之中的 web 應用程序。當瀏覽器向服務器發出第一個請求時,服務器會返回一個 index.html 文件,它所需的 js,css 等會在顯示時統一加載,部分頁面須要時加載。
優勢:瀏覽器
缺點:緩存
解決方法:
舉例 spa 應用:網易雲音樂、QQ 音樂等
v-for 的優先級更高
避免出現這種狀況,若是實在須要,則在外嵌套 template,在這一層進行 v-if 判斷,而後在內部進行 v-for 循環,避免每次只有 v-if 只渲染不多一部分元素,也須要遍歷同級的全部元素
對象爲引用類型,當重用組件時,因爲數據對象都指向同一個 data 對象,當在一個組件中修改 data 時,其餘重用的組件中的 data 會同時被修改;而使用返回對象的函數,因爲每次返回的都是一個新對象(Object 的實例),引用地址不一樣,則不會出現這個問題。
'obj.xx': { handler: function(val) {}, deep:true }
'obj.xx': { handler: function(val) {}, immediate:true }
v-show 是 css 的 display 顯示和隱藏
v-if 是 DOM 銷燬和重建
v-show 使用場景:
經過 Observer 把數據劫持(Object.defineProperty()) 、加入到訂閱器(Dep) 訂閱器收集訂閱者(Watcher )、視圖經過編譯(Compile)、解析指令(Directive)等一些列操做收集給訂閱者 、最後經過觸發數據變化 update 通知全部訂閱者完成數據驅動