詳解Vue中子組件修改父組件傳過(guò)來(lái)的值的三種方式
方式1:子組件發(fā)送emit,觸發(fā)父組件修改
父組件
<template>
<div>
<son :count="count" @updateCount="updateCount" />
</div>
</template>
<script>
import son from "./son";
export default {
data() {
return {
count: 0,
};
},
components: { son },
methods: {
updateCount(data) {
this.count = data;
},
},
};
</script>
子組件
<template>
<div class="goodsBasic">
<div>父組件:{{ count }}</div>
<el-button @click="changeCount">方式1</el-button>
</div>
</template>
<script>
export default {
props: {
count: {
type: Number,
default: 0,
},
},
methods: {
changeCount() {
this.$emit("updateCount", this.count + 1);
},
},
};
</script>
方式2:在子組件那里強(qiáng)制修改
父組件
<template>
<div>
<son :text.sync="text" />
</div>
</template>
<script>
import son from "./son";
export default {
data() {
return {
text: "hello world",
};
},
components: { son },
};
</script>
子組件
<template>
<div class="goodsBasic">
<div>父組件:{{ text }}</div>
<el-button @click="changeCount">方式2</el-button>
</div>
</template>
<script>
export default {
props: {
text: {
type: String,
default: "",
},
},
methods: {
changeCount() {
this.$emit("update:text", "我被強(qiáng)制修改了");
},
},
};
</script>
方式3:子組件定義一個(gè)值,來(lái)代替父組件傳過(guò)來(lái)的值(不推薦,該方法父子組件的值不是同步修改)
父組件
<template>
<div>
<son :count="count" />
</div>
</template>
<script>
import son from "./son";
export default {
data() {
return {
count: 0,
};
},
components: { son },
};
</script>
子組件
<template>
<div class="goodsBasic">
<div>子組件:{{ son_count }}</div>
<el-button @click="changeCount">方式3</el-button>
</div>
</template>
<script>
export default {
props: {
count: {
type: Number,
default: 0,
},
},
data() {
return {
son_count: this.count,
};
},
methods: {
changeCount() {
this.son_count++;
},
},
};
</script>以上就是詳解Vue中子組件修改父組件傳過(guò)來(lái)的值的三種方式的詳細(xì)內(nèi)容,更多關(guān)于Vue子組件修改父組件傳值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue開發(fā)配置tsconfig.json文件的實(shí)現(xiàn)
tsconfig.json文件中指定了用來(lái)編譯這個(gè)項(xiàng)目的根文件和編譯選項(xiàng),本文就來(lái)介紹一下Vue開發(fā)配置tsconfig.json文件的實(shí)現(xiàn),感興趣的可以了解一下2023-08-08
vue 解決setTimeOut和setInterval函數(shù)無(wú)效報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了vue 解決setTimeOut和setInterval函數(shù)無(wú)效報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
使用Vue.js創(chuàng)建一個(gè)時(shí)間跟蹤的單頁(yè)應(yīng)用
這篇文章主要介紹了使用Vue.js創(chuàng)建一個(gè)時(shí)間跟蹤的單頁(yè)應(yīng)用的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
vue實(shí)現(xiàn)移動(dòng)端項(xiàng)目多行文本溢出省略
這篇文章主要介紹了vue實(shí)現(xiàn)移動(dòng)端項(xiàng)目多行文本溢出省略功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
vue2 如何實(shí)現(xiàn)div contenteditable=“true”(類似于v-model)的效果
這篇文章主要給大家介紹了利用vue2如何實(shí)現(xiàn)div contenteditable="true",就是類似于v-model的效果,文中給出了兩種解決的思路,對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。2017-02-02
利用vue對(duì)比兩組數(shù)據(jù)差異的可視化組件詳解
這篇文章主要給大家介紹了關(guān)于利用vue對(duì)比兩組數(shù)據(jù)差異的可視化組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-09-09
一文搞明白vue開發(fā)者vite多環(huán)境配置
Vue是一款流行的JavaScript框架,用于開發(fā)動(dòng)態(tài)單頁(yè)應(yīng)用程序,本地安裝和環(huán)境配置是學(xué)習(xí)和使用Vue的第一步,下面這篇文章主要給大家介紹了關(guān)于vue開發(fā)者vite多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下2023-06-06

