知行合一

博客园 首页 新随笔 联系 订阅 管理
  371 随笔 :: 25 文章 :: 4 评论 :: 15万 阅读

情况一:父组件给子组件传值方法,使用props

父页面:parent.vue

复制代码
<template>
    <div class="sidebar_contianer">
        <sidebar-item :routerData="transmitData"></sidebar-item>
    </div>
</template>
<script>
import sidebarItem from './sidebarItem'
export default {
    data(){
        return{
            transmitData:{
                title:'首页',
                uuid:'123'
            }
        }
    },
    components:{
        sidebarItem
    }
}
</script>
复制代码

第一步:用import引入子组件

第二步:在components中注入子组件

第三步:在子组件中定义一个指令:routerData="transmitData"  (routerData名称需要和子组件中的props保持一致,transmitData是要传递给子组件的数据)

子页面:child.vue

复制代码
<script>
export default {
    name:'sidebarItem',
    props:{
        transmitData:{
            type:Object,
            default:null
        }
    }
}
</script>
复制代码

第四步:在子组件中定义props属性,transmitData的type可以自定义类型(但是必须和父组件中的数据类型一致,否则会报错),default是默认值。

 

情况二:子组件要给父组件传值方法,使用$emit

子页面:a.vue

复制代码
<template> 
    <div class="testCom">
        <input type="text" v-model="message" />
        <button @click="click">发送消息给爸爸</button>
    </div>
</template>
<script>
export default {
    data() {
        return {
          message: '我是来自子组件的消息'
        }
    },
    methods: {
      click() {
            //1、childFn 组件方法名,父组件中用childFn方法接收子组件中的数据;2、message是传递给父组件的数据
            this.$emit('childFn', this.message);
        }
    }    
}
</script>
复制代码

第一步:this.$emit("方法名","传递给父组件的数据")

 父页面:b.vue
复制代码
<template>
    <div>
      <child-com @childFn="parentFn"></child-com>
    </div>
</template>

<script>
export default {
    // ...
    data: {
        message: ''
    },
    methods: {
       parentFn(childData) {
        this.message = childData;
      }
    }
}
</script>
复制代码

第二步:父组件中注入子组件(此处代码中省略,如要参考请看情况一)

第三步:定义方法childFn(必须和子组件中方法名一致),parentFn定义可随意。

 

posted on   callbin  阅读(653)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示