vue2 x和vue3 x實現雙向繫結的不同方式

2021-10-11 03:58:58 字數 561 閱讀 6664

在vue2.x中,實現雙向繫結,是使用object.defineproperty()方法對屬性設定get和set方法實現。

object.defineproperty()

let obj =

;object.

defineproperty

(obj,

'name',,

// set自帶乙個引數

set(value)})

obj.name =

"翠花"

;//呼叫了set

console.

log(obj.name)

;//呼叫了get

在vue3.x中,是使用es6中的proxy物件。

es6-proxy

let obj =

//**obj物件

let proxyobj=

newproxy

(obj,

,set

:function

(obj,prop,value)

})

Vue2 x與Vue3 x的雙向繫結原理

通過object.defineproperty 重新定義物件屬性的set方法 get方法來實現的,從這個屬性中取值時會觸發get方法,改變這個屬性時會觸發set方法,所以我們只要將一些需要更新view的方法放在這裡面就可以實現data更新view了,而view更新data其實可以通過事件監聽實現 o...

vue cli2 x和vue 3 x安裝區別

1.npm install vue cli g 安裝vue cli2.x腳手架 2.vue init webpack 使用vue cli2.x來建立乙個名稱為 的專案 3.cd 進入剛建立好的專案的路徑下 4.npm install 安裝依賴 5.npm run dev 啟動專案1.npm inst...

vue3建立vue2 x專案

因為一些原因更新了node,再次安裝vue時,莫名的就vue3了。好吧,但是以前的專案還是vue2的,所以順便嘗試了下vue3建立vue2專案。首先是建立,以前是使用vue init建立,現在是vue create,然後在建立時,可以選擇2還是3 如果選擇3還有一些其它選項 比如是否安裝vue ro...