最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文帶你深入了解V-model實現(xiàn)數(shù)據(jù)雙向綁定

 更新時間:2024年12月20日 10:38:14   作者:帶錢跑路77  
這篇文章主要為大家詳細介紹了V-model實現(xiàn)數(shù)據(jù)雙向綁定的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

父組件實現(xiàn)雙向綁定

在父組件中使用 v-model:

<ChildComponent v-model="message" />

等價于:

<ChildComponent :modelValue="message" @update:modelValue="val => message = val" />

:modelValue:通過 props 將 message 的值傳遞給子組件。

@update:modelValue:通過 emit 向父組件發(fā)送更新值。

子組件實現(xiàn)雙向綁定

為了支持父組件的 v-model,子組件需要:

1.定義 props,接收父組件傳遞的數(shù)據(jù)。

2.使用 emit 發(fā)送更新事件。

<script setup>
import { defineProps, defineEmits } from 'vue';

// 接收父組件傳遞的 modelValue
defineProps({
  modelValue: String, // 父組件傳遞的值
});

// 定義更新事件
defineEmits(['update:modelValue']);

const updateValue = (newValue) => {
  // 觸發(fā)事件,通知父組件更新數(shù)據(jù)
  emit('update:modelValue', newValue);
};
</script>

<template>
  <input :value="modelValue" @input="updateValue($event.target.value)" />
</template>

defineModel()

從 Vue 3.4 開始,推薦的實現(xiàn)方式是使用 defineModel()宏

<!-- Child.vue -->
<script setup>
const model = defineModel()

function update() {
  model.value++
}
</script>

<template>
  <div>Parent bound v-model is: {{ model }}</div>
  <button @click="update">Increment</button>
</template>

父組件可以用 v-model 綁定一個值:

template

<!-- Parent.vue -->
<Child v-model="countModel" />

defineModel() 返回的值是一個 ref。它可以像其他 ref 一樣被訪問以及修改,不過它能起到在父組件和當前變量之間的雙向綁定的作用:

  • 它的 .value 和父組件的 v-model 的值同步;
  • 當它被子組件變更了,會觸發(fā)父組件綁定的值一起更新。

這意味著你也可以用 v-model 把這個 ref 綁定到一個原生 input 元素上,在提供相同的 v-model 用法的同時輕松包裝原生 input 元素:

<script setup>
const model = defineModel()
</script>

<template>
  <input v-model="model" />
</template>

底層機制

defineModel 是一個便利宏。編譯器將其展開為以下內容:

一個名為 modelValue 的 prop,本地 ref 的值與其同步;

一個名為 update:modelValue 的事件,當本地 ref 的值發(fā)生變更時觸發(fā)。

到此這篇關于一文帶你深入了解V-model實現(xiàn)數(shù)據(jù)雙向綁定的文章就介紹到這了,更多相關V-model數(shù)據(jù)雙向綁定內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

沈丘县| 洛川县| 会宁县| 北宁市| 雷州市| 肥西县| 马龙县| 留坝县| 鹰潭市| 双流县| 左贡县| 平凉市| 沐川县| 高青县| 吉安市| 靖州| 仁布县| 射洪县| 万全县| 新化县| 磐安县| 西充县| 宜兰市| 宁波市| 富顺县| 什邡市| 恩施市| 昌宁县| 驻马店市| 阿克| 涞水县| 浑源县| 宁德市| 砚山县| 广安市| 南宁市| 探索| 平安县| 普兰店市| 石台县| 金华市|