Vue 知識點及答案

MVVM的理解

MVVM 是Model-View-ViewModel 的縮寫,它是一種基於前端開發的架構模式。 在MVVM架構下,View 和 Model 之間並無直接的聯繫,而是經過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的, 所以View 數據的變化會同步到Model中,而Model 數據的變化也會當即反應到View 上前端

如何實現一個自定義組件,不一樣組件之間如何通訊的?

props/$emit
注:組件中的數據共有三種形式:data、props、computed
vue 組件間通訊vue

nextTick

由於DOM渲染老是在隊列任務完成以後纔會執行,因此要在當前隊列中查看下一個隊列的數據能夠使用nextTick
Vue生命週期的created()鉤子函數進行的DOM操做必定要放在Vue.nextTick()的回調函數中,由於created時尚未渲染DOMvue-router

生命週期

image.png

虛擬dom的原理
雙向綁定的原理?數據劫持?

經過數據劫持結合發佈者-訂閱者的方式來實現,Vue是經過Object.defineProperty() 來實現,Object.defineProperty()能夠控制一個對象屬性的一些特有操做,好比讀寫權、是否能夠枚舉等。vuex

Proxy 相比於 defineProperty 的優點
watch computed區別

computedsegmentfault

  • 計算屬性computed,只有依賴數據發生改變時纔會從新計算
  • 不支持異步,當computed內有異步操做時,沒法監聽數據的變化,
  • computed 屬性值會默認走緩存,計算屬性是基於它們的響應式依賴進行緩存的,也就是基於data中聲明過或者父組件傳遞的props中的數據經過計算的到的值;
  • 若是一個屬性是其餘屬性計算而來的,那麼使用computed

watch緩存

  • 不支持緩存,數據變化會直接觸發從新渲染
  • watch支持異步
vue-router(hash, HTML5 新增的 pushState
  • 單頁應用,如何實現其路由功能---路由原理
  • vue-router如何作用戶登陸權限等
  • 你在項目中怎麼實現路由的嵌套
vuex的理解
相關文章
相關標籤/搜索