子组件更改父组件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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理