【Vue项目实践】 Vue 组件之间互相传递参数

1. 父子组件调用

父页面有一个 msg 为父组件传给子组件的参数,@sendMsg 为接收子组件返回的参数的方法

父页面

<template>
  <div class="home">
    <TheWelcome msg="Home" @sendMsg="handle"></TheWelcome>
  </div>
</template>


<script>
  import TheWelcome from "../components/TheWelcome.vue"
  export default {
    name : "Home",
    components:{
      TheWelcome
    },
    setup(){
      const handle = value => {
        console.log("setup -> value",value)
      };
      return {
        handle
      }
    }
  }
</script>



2、 子组件 TheWelcome

点击按钮的时候,触发事件, emit 为提交事件

<template>
  <div class="hello">
    {{msg}}
    <input type="text" v-model="state.num1" >
    +
    <input type="text" v-model="state.num2" >
    =
    {{state.result}}
    <button type="button" @click="clickEvent()">event</button>
  </div>
</template>


<script>
  import {reactive,computed} from "vue"
  export default {
    name : "HelloWorld",
    props :{
      msg :String
    },
    setup(props,{emit}){
      console.log("props=",props)
      const state = reactive({
        num1:0,
        num2:0,
        result: computed(()=>parseInt(state.num1) + parseInt(state.num2))
      });
      const clickEvent = () => {
        console.log("click")
        emit('sendMsg',state.result)
      }
      return {
        state,clickEvent
      };
    }
  }
</script>
posted @   panie2015  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-09-19 URI 中特殊字符处理
点击右上角即可分享
微信分享提示