part3 模組五作業

2021-10-19 17:32:00 字數 1985 閱讀 2027

vue 3.0 效能提公升主要是通過哪幾個方面體現的?

答:

編譯優化

原始碼體積優化

tree-shaking

vite

vue 3.0 所採用 composition api 與 vue 2.0x 使用的 options api 有什麼區別?

答:

vue 3.0

proxy 相比於 objct.defineproerty 有哪些優點?

答:

proxy的優點

vue 3.0 在編譯方面有哪些優化?

答:

vue.js 3.0響應系統的實現原理?

vue3 使用 proxy 物件重寫響應式系統,這個系統主要有以下幾個函式來組合完成

1、reactive:

set

接收兩個引數:target 和 key

如果沒有 activeeffect,則說明沒有建立 effect 依賴

如果有 activeeffect,則取判斷 weakmap 集合中是否有 target 屬性

判斷 weakmap 中是否有 target 屬性

const isobject = val => val !== null && typeof val === 'object'

const convert = raw => isobject(raw) ? reactive(raw) : raw

const hasownproperty = object.prototype.hasownproperty

const hasown = (target, key) => hasownproperty(target, key)

export function reactive (target) ,

set (target, key, value, receiver)

return result

},deleteproperty (target, key)

return result

}} return new proxy(target, handler)

}let activeeffect = null

export function effect (callback)

let targetmap = new weakmap()

export function track (target, key)

// 如果沒有 dep 給depsmap設定

let dep = depsmap.get(key)

if ( !dep )

// 最後將活動effect函式新增到dep中

dep.add(activeeffect)

}export function trigger(target, key) )

}}export function ref (raw)

// 如果 raw 是物件呼叫reacytive 建立否則返回該值

let value = convert( raw )

const r =,

set value (newvalue)

}} return r

}export function torefs (proxy)

// 遍歷proxy將其內部響應式屬性賦給初始化屬性

for(const key in proxy )

return ret

}function toproxyref (proxy, key) ,

set value (newvalue)

} return r

}export function computed (getter)

part3 模組五作業

1 vue 3.0 效能提公升主要是通過哪幾方面體現的?解答 編譯優化 原始碼體積優化 vite 2 vue 3.0 所採用的 composition api 與 vue 2.x使用的options api 有什麼區別?解答 vue 3.0 3 proxy 相對於 object.defineprop...

part3 模組二作業

vue.js 原始碼剖析 響應式原理 虛擬 dom 模板編譯和元件化 一 簡答題 1 請簡述 vue 首次渲染的過程。解答 定義 vue 的建構函式 初始化 vue 的例項成員 初始化完畢後呼叫 new vue 呼叫 this.init 呼叫 mount 將模板編譯成rander函式 執行mount...

關於除錯 part 3

歡迎喜歡交流和熱心的iphone開發朋友加入qq群參與討論 186739796,驗證碼 csdn。常見錯誤收集貼 方法名錯誤 product edit scheme,在environment varibles中 新增 nszombieenabled yes 最後結果 關於出現殭屍訊號sigbat或者...