带酒书生 2023-06-21 13:48 采纳率: 45.5%
浏览 21
已结题

vue3 子组件值传给父组件非响应式

最近在学vue,通过defineEmits,在自组件中为父组件中的响应式数据赋值,发现并没有响应式的刷新显示,有点困惑,是设定如此吗?
子组件

<script setup lang="ts">
import { ref } from 'vue'
  defineProps({
    num: {},
    msg: {
      type: String,
      default: "",
    },
  });
  defineEmits(["update","deliver"]);
</script>
<template>
  <div class="child">
    子组件
    <h3>接受到父组件的值:{{ num }}and{{ msg }}</h3>
    <button @click="$emit('update')">改变父组件值</button>
    <button @click="$emit('deliver','hello')">传值给父组件</button>
  </div>
</template>


父组件

<script setup lang="ts">
import { ref } from 'vue';
import child from './child.vue';
    var msg="父组件的msg"
    var num=ref(10);
    var childMsg=ref('dasd')
const updateValue=()=>{
    msg="被修改",
    num.value+=2
}
const getChildValue=(v)=>{
    childMsg=v
    console.log(childMsg);
    
}
</script>
<template>
    <div>
        父组件接受子组件的数据{{childMsg}}
        <child :msg="msg" :num="num" @update="updateValue" @deliver="getChildValue"></child>
    </div>
</template>


img


点击“改变父组件值”按钮后,刷新了

img

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-06-21 14:37
    关注

    付组件

    <script setup lang="ts">
    import { ref } from 'vue';
    import child from './child.vue';
    
    var msg = ref("父组件的msg");
    var num = ref(10);
    var childMsg = ref('dasd');
    
    const updateValue = () => {
      msg.value = "被修改";
      num.value += 2;
    };
    
    const getChildValue = (v) => {
      childMsg.value = v;
      console.log(childMsg.value);
    };
    </script>
    
    <template>
      <div>
        父组件接受子组件的数据 {{ childMsg }}
        <child :msg="msg" :num="num" @update="updateValue" @deliver="getChildValue"></child>
      </div>
    </template>
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路