每天顶呱呱 2024-01-11 21:09 采纳率: 50%
浏览 21

VUE3祖孙传参的问题

当孙组件触发了"<button @click="a.b('b')">改变爷爷的值"这个按钮的事件修改了第一层APP.vue的值但是自己身上的值并没有发生同步的改变应该要怎么解决啊

这个是父组件最顶层的APP.vue的代码

img

<template>
    <div>
        <parent :a="a" :b="change"/>
        <h3>爷爷的值{{ a }}</h3>
    </div>
</template>
<script setup lang="ts">
    import parent from './mittandmodel/parent.vue';
    import {ref} from 'vue'
    let a = ref("123")
    function change(value:string){
        a.value = value
    }
</script>

这个是子组件第二层的parent.vue的代码

img

<template>
    <div>
    <h2>mitt测试</h2>
    <child1 :a="$attrs"/>
    <child2/>
    <!-- update:modelValuez只是事件命可以任意写其他名字 -->
    <!-- <input :value="info" @input="info=(<HTMLInputElement>$event.target).value"> -->
    <!-- <model :modelValue="info" @update:modelValue="info = $event"/> -->
    <model v-model="info" v-model:ces="min"/>
    </div>
</template>
<script setup lang="ts">
import child1 from './child1.vue';
import child2 from './child2.vue';
import model from './model.vue';
import {ref} from 'vue'
let info = ref('zhangsan')
let min = ref('21312')
</script>

这个是孙组件第三层的child1.vue的代码

img

<template>
    <h1>孩子一</h1>
    <h2>爷爷辈的数据{{ a.a }}</h2>
    <button @click="emitter.emit('sendinfo',gift)">发送</button>
    <button @click="a.b('b')">改变爷爷的值</button>
</template>
<script setup lang="ts">
    import {ref} from 'vue';
    import emitter from '@/utils/emitter';
    let gift = ref('玩具一')
    defineProps(['a'])
</script>
  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 创建了问题 1月11日

悬赏问题

  • ¥20 WIN10蓝屏问题!
  • ¥15 在一个R脚本运行过程中出现错误
  • ¥15 Mac经常自动关机,再次打开后提示“电脑因出现问题而重新启动”
  • ¥60 使用ovito软件怎么得到金属玻璃的自由体积
  • ¥15 急!如何实现根据汇编指令推测硬件功能?
  • ¥20 excel处理10000万条数据方法
  • ¥15 hc32串口接收数据
  • ¥15 阻抗控制阻尼参数过小报错
  • ¥15 在Unity开发环境中用NPOI插件输出Word文档可以,当我打包到Windows系统软件的时候输出Word文档就出现文件损坏
  • ¥15 blender将两个混合节点进行混合后模型呈现粉色