Vue子父组件之间传值的三种方法示例

 更新时间:2024年02月06日 09:52:50   作者:YYYi_z  
Vue的组件化给前端开发带来极大的便利,下面这篇文章主要给大家介绍了关于Vue子父组件之间传值的三种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下

父组件向子组件传值: props-父组件给子组件传输数据和验证

1.父组件的代码示例

<template>
<div>父组件</div>
// 引用子组件
<Dialog :fatherData="fatherData"></Dialog>
</template>

<script>
// 导入子组件
import Dialog from '@/components/Dialog.vue'

export default {
  name: 'HomeView',
  components: { Dialog },
  data () {
    return {
      fatherData: '父组件的值',
    }
  }
}
</script>

2.子组件的代码示例

<template>
  <div>
    <div>子组件</div>
    <div>
    //展示父组件数据
      {{fatherData}}
    </div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      childrenData: '子组件自己的数据'
    }
  },
  //props的基本用法是父组件给子组件传输数据和验证
  props: {
  //父组件数据
    fatherData: {
      type: String
    }
  }
}
</script>

子组件向父组件传值:this.$emit()-子组件可以使用 $emit,让父组件监听到自定义事件

1.父组件的代码示例

<template>
<div>父组件</div>
// 引用子组件
<Dialog  @tranferData="tranferData"></Dialog>
//展示子组件的值
<div>{{ receiveData }}</div>
</template>

<script>
// 导入子组件
import Dialog from '@/components/Dialog.vue'

export default {
  name: 'HomeView',
  components: { Dialog },
  data () {
    return {
      fatherData: '父组件的值',
      receiveData:''
    }
  },
  methods: {
  //接收子组件传过来的数据
  tranferData(val){
  	console.log('子组件向父组件传过来的值:',val)
  	this.receiveData = val
  }
  }
}
</script>

2.子组件的代码示例

<template>
  <div>
    <div>子组件</div>
    <el-button @click="tranfer">子向父传值</el-button>
  </div>
</template>
<script>
export default {
  data () {
    return {
      childrenData: '子组件的值'
    }
  }
  },
  methods:{
  	tranfer(){
  	this.$emit('tranferData',this.childrenData)
  	}
  }
}
</script>

通过refs调用子组件的值−用this.refs获取到的是组件实例,可以使用组件的所有方法

1.父组件的代码示例

<template>
<div>父组件</div>
// 引用子组件
<Dialog ref='dialogData'></Dialog>
<div>通过refs拿到子组件的值</div>
<el-button @click="toGet">refs拿到子组件的值</el-button>
</template>

<script>
// 导入子组件
import Dialog from '@/components/Dialog.vue'

export default {
  name: 'HomeView',
  components: { Dialog },
  data () {
    return {
      fatherData: '父组件的值',
    }
  },
  methods:{
  toGet(){
  	 // 通过refs调用子组件的值(childrenData)
    	const data = this.$refs.dialogData.childrenData
     	alert(data)
     //  通过refs调用子组件的值(childrenWay())
     	const way = this.$refs.dialogData.childrenWay()
     	alert(way)
  }
  }
}
</script>

2.子组件的代码示例

<template>
  <div>
    <div>子组件</div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      childrenData: '子组件自己的数据'
    }
  },
  methods:{
  childrenWay(){
  	alert('父组件调用子组件的方法')
  }
  }
}
</script>

父组件使用子组件传过来的值

如下面的代码所示,closeData和confirmData分别接收取消和确定时子组件传过来的值

总结

到此这篇关于Vue子父组件之间传值的三种方法的文章就介绍到这了,更多相关Vue子父组件传值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue2和vue3子组件父组件之间的传值方法

    vue2和vue3子组件父组件之间的传值方法

    在组件化开发的过程中难免会遇见子组件和父组件之间的通讯那么这里讲关于vue2和vue3不同的通讯方式,文中有详细的代码示例供大家参考,感兴趣的同学可以阅读下
    2023-05-05
  • VUE3+vite项目中动态引入组件与异步组件的详细实例

    VUE3+vite项目中动态引入组件与异步组件的详细实例

    在做vue3项目中时,每次使用都需要先进行引入,下面这篇文章主要给大家介绍了关于VUE3+vite项目中动态引入组件与异步组件的相关资料,需要的朋友可以参考下
    2022-09-09
  • ElementUI中el-form组件的rules参数举例详解

    ElementUI中el-form组件的rules参数举例详解

    Form组件提供了表单验证的功能,只需要通过rules属性传入约定的验证规则,并将Form-Item的prop属性设置为需校验的字段名即可,下面这篇文章主要给大家介绍了关于ElementUI中el-form组件的rules参数的相关资料,需要的朋友可以参考下
    2023-10-10
  • Vue内部渲染视图的方法

    Vue内部渲染视图的方法

    这篇文章主要介绍了Vue内部渲染视图的方法,本文通过实例代码图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 集成vue到jquery/bootstrap项目的方法

    集成vue到jquery/bootstrap项目的方法

    下面小编就为大家分享一篇集成vue到jquery/bootstrap项目的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • vue双花括号的使用方法 附练习题

    vue双花括号的使用方法 附练习题

    这篇文章主要为大家详细介绍了vue双花括号的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • vue el-upload 上传文件格式校验方法

    vue el-upload 上传文件格式校验方法

    这篇文章主要介绍了vue el-upload 上传文件格式校验方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • 解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

    解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

    这篇文章主要介绍了解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue+echarts实现动态绘制图表及异步加载数据的方法

    vue+echarts实现动态绘制图表及异步加载数据的方法

    vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的。这篇文章主要介绍了vue+echarts 动态绘制图表及异步加载数据的相关知识,需要的朋友可以参考下
    2018-10-10
  • vue 动态改变静态图片以及请求网络图片的实现方法

    vue 动态改变静态图片以及请求网络图片的实现方法

    下面小编就为大家分享一篇vue 动态改变静态图片以及请求网络图片的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02

最新评论