子组件更改父组件porps的值

场景:父传值给子组件,子组件改变父元素传过来的prop值

实现方法1

通过父传子,子调用父方法传参数实现

父组件

<template>
<child-view :num="num" @updateNum="updateNum"></child-view>
</template>
<script>
import childView from './assembly/child'
export default {
components: {childView},
data() {
return {
num: 2
}
},
methods: {
updateNum(num){
this.num = num
}
}
</script>

子组件

<template>
<div>
<p>父传过来的值:{{num}}</p>
<button @click="changeNum">加一</button>
</div>
</template>
<script>
export default {
name: 'child',
props:{
num: {
type:Number,
default: 0
}
},
methods:{
changeNum(){
this.$emit("updateNum",this.num + 1)
}
}
}

实现方法2

通过.sync修饰符以及$emit配合update:实现

父组件

<template>
<child-view :num.sync="num"></child-view>
</template>
<script>
import childView from './assembly/child'
export default {
components: {childView},
data() {
return {
num: 2
}
}
}
</script>

子组件

<template>
<div>
<p>父传过来的值:{{num}}</p>
<button @click="changeNum">加一</button>
</div>
</template>
<script>
export default {
name: 'child',
props:{
num: {
type:Number,
default: 0
}
},
methods:{
changeNum(){
this.$emit("update:num",this.num + 1)
}
}
}
</script>

实现方法3

这种方法针对v-modal绑定一个数据源

父组件

<template>
<child-view v-modal="num"></child-view>
</template>
<script>
import childView from './assembly/child'
export default {
components: {childView},
data() {
return {
num: 2
}
}
}
</script>

子组件

<template>
<div>
<p>父传过来的值:{{num}}</p>
<input type="text" :value="value" @input="$emit('input',$event.target.value)">
</div>
</template>
<script>
export default {
name: 'child',
props:["value"]
}
</script>
posted @   坚持日更的路上  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
欢迎阅读『子组件更改父组件porps的值』
主题色彩
点击右上角即可分享
微信分享提示