Vue 元件的雙向資料繫結

2021-10-07 00:16:40 字數 1734 閱讀 2497

我們之前已經有學過在普通的dom元素上通過v-model指令來進行簡單的雙向資料繫結,一般我們會在表單元素上使用這個指令.

>

"text" v-model =

"value"

>

}<

/div>

let vm =

newvue(,

})<

/script>所謂的雙向資料繫結就是顯示資料發生變化,vue

中的資料也隨之發生變化,vue中的資料發生變化,檢視中的資料也會隨之變化.

就是我們將data中的資料繫結到表單的value值上, 這樣只會在當資料變化的時候改變檢視, 但是檢視的改變會不會修改資料

那麼我們就可以使用乙個事件來處理這件事情, 當使用者輸入內容後就會觸發函式, 在函式內獲取表單最新的值修改掉data中資料.

我們利用同樣的思路, 將父元件的資料通過單向下行資料流傳給子元件

在利用自定義事件,將子元件中的資料傳遞給父元件, 處理成自定義的雙向資料繫結

示例**如下:

>

}<

/div>

:value =

"msg"

@input =

"value => this.msg = value"

>

<

/my-com>

<

/div>

"mycom"

>

:value =

"value"

@input =

"changeinput"

type=

"text"

/>

<

/div>

<

/template>

let mycom =(}

})let vm =

newvue(,

components:})

<

/script>vue在2.2.0版本中給允許我們在自定義元件上使用v-model來處理雙向資料繫結,

>

}<

/div>

v-model =

"msg"

>

<

/my-com>

<

/div>

"mycom"

>

:value =

"value"

@input =

"changeinput"

type=

"text"

/>

<

/div>

<

/template>

let mycom =(}

})let vm =

newvue(,

components:})

<

/script>這種方式就可以簡單的實現元件間的雙向資料繫結.

我們會發現在元件中使用v-model指令,等價於

:value =

"msg"

@input =

"value => this.msg = value"

>

<

/my-com>

Vue 父子元件雙向資料繫結

產生原因 父組建向子組建傳值是通過props傳遞值,由於props是單向資料流,所以子組建需要向父組建更新資料時無法傳遞,此時,這時候就需要用到如下方法 父組建 正常傳遞資料 data myinput sync傳遞資料 data myinput 子組建 子組建正常使用props引入資料 props ...

vue雙向資料繫結

話術 vue中v model可以實現雙向繫結,其核心思想通過object.definepropery來對vue的資料進行資料劫持。主要分為四部分 第一部分observer主要是負責對vue資料進行資料劫持,使其資料擁有get和set方法 第二部分指令解析器負責繫結資料和指令,繫結試圖更新方法 第三部...

vue雙向資料繫結

1.資料響應式原理 主要是利用object.defineproterty 來自定義object的getter,setter function observe value,cb function definereactive obj,key,val,cb set newval class vue da...