父子组件通信与访问

主要就父子组件通信进行介绍


提示:以下是本篇文章正文内容,下面案例可供参考

一、子组件向父组件传值

通过事件

二、父组件向子组件传值

通过props

父访问子-children-refs   重点

如果想要访问子组件中的方法和值,直接使用refs会更加的简洁,但是props和refs是有区别的,区别点见总结

使用方法如下:

1.在父组件中引用子组件

2.在父组件引用的子组件中添加 ref="aaa"  后期直接可以操作aaa

3.通过this.$refs取出子组件中需要的值

4.对取出的值可以进行操作,包括在父组件使用以及修改子组件中的值

//step1:
import children from  './children.vue'
export default{
    data(){
        return {
            message:''

        }
    },
//step1:
    components:{
        cpn:children
    },
//step2:
<cpn ref="aaa"></cpn>

methods:{
        btnClick(){
//step3&&step4:
         this.message = this.$refs.aaa.name
        }
    }

 子访问父-parent-root 了解,在开发中不建议使用

parent会导致子组件复用率不高,而且会导致其他的错误,root则是访问的vue实例

~使用方法:

  <Button @click="clickM">哈哈</Button>
    //在子组件的methods方法
//这里是调用父组件的方法,也可以调用父组件的data中的值
 clickM(){
            console.log(this.$parent)
            this.$parent.btnClick()
        }

由此可见,这里使用$parent可能对于以后的复用造成问题,因为其他地方的引用可能没有此方法,$root为vue实例

总结 

这些都是关于子父组件的内容,如果对于已经确定的公共数据,即不需要子父组件之间的操作,可以使用store直接存储,详细请见vuex

props 着重与数据传递, 父组件向子组件传递数据, 但是他并不能调用子组件里面的属性和方法。

$refs 着重与索引,主要用于调用子组件里面的属性和方法。并且当ref使用在DOM元素的时候, 能起到选择器的作用, 我们可以通过它能获取到DOM元素的节点, 可以对DOM元素进行操作等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值