Vue组件在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。 父组件向子组件传值
Vue组件在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。
父组件向子组件传值(子组件主动获取父组件的数据和方法)
父组件import引用子组件
使用子组件时在子组件上添加一个v-bind属性,并绑定上数据
在子组件中创建 props ,在props 中创建相同的属性名,用来接收数据
把接收到的数据在子组件中使用
子组件向父组件传值(父组件主动获取子组件的数据和方法)
子组件中需要发出该自定义事件,可以是按钮的点击事件,也可以是其他方式
将需要传的值放在 $emit 第二个参数的位置,这个参数会被传给父组件中的响应方法
需要在父组件中使用子组件并在子组件标签上绑定对事件的监听
演示代码:
//父组件
<template>
<div id="header">
<headerchild ref="headerChild"></headerchild>
<button @click="getChild()">父组件获取子组件的数据和方法</button>
</div>
</template>
<script>
import HeaderChild from './HeaderChild'
export default {
data () {
return {
title:'我是父组件的数据'
}
},
methods: {
getChild (){
console.log(this.$refs.headerChild.name)
},
run (){
console.log("我是父组件里面的方法")
}
},
components: {
'headerchild': HeaderChild
}
}
</script>
<style lang="sass" scoped>
</style>
//子组件
<template>
<div id="headerchild">
<button @click="getParent()">获取父组件的数据和方法</button>
</div>
</template>
<script>
export default {
data () {
return {
name:'我是子组件里面的数据'
}
},
methods:{
getParent(){
console.log(this.$parent.title)
this.$parent.run()
}
},
props:['title','run','home']
}
</script>
到此这篇关于Vue父组件和子组件之间数据传递和方法调用的文章就介绍到这了,更多相关Vue父组件和子组件互相传值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Vue父组件和子组件之间数据传递和方法调用
本文链接: https://www.lsjlt.com/news/174873.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0