vue中父组件调用子组件的属性和方法

父组件通过 props 向下传递数据给子组件,子组件通过 $emit触发events 给父组件发送消息。

尽管存在 props 和事件,有的时候你仍可能需要在 JavaScript 里直接访问一个子组件,这就需要使用ref特性,通过 ref 特性为这个子组件赋予一个 ID 引用。

ref:用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,那么指向的就是普通的DOM元素。

ref的3种使用场景:

  1. ref 加在普通的元素上,用this.$refs.name 获取到的是dom元素。
  2. ref 加在子组件上,在父组件中用this.$refs.name 获取到的是组件实例,可以调用组件的所有属性和方法。
  3. ref和v-for一起使用,用this.$refs.name获取到的将会是一个包含了对应数据源的这些子组件或者DOM元素的数组。

1. ref 加在普通的元素上。

<div id="app">
  <input ref="input">
  <button @click="get">获取input这个DOM元素</button>
</div>
var app=new Vue({
  el:"#app",
  data:{
 
  },
  methods:{
    get:function(){
      console.log(this.$refs.input);
    }
  }
})

2. ref 加在子组件上,在父组件中引用。

<div id="app">
  <child-component ref="child"></child-component>
  <button @click="get">获取子组件</button>
</div>
Vue.component('childComponent',{
   template:"<div>我是子组件</div>"
 })
var app=new Vue({
   el:"#app",
   data:{
 
   },
   methods:{
     get:function(){
       console.log(this.$refs.child);
     }
   }
})

总结:

父组件调用子组件或DOM元素的属性和方法:

this.$refs.refName.属性
this.$refs.refName.方法

子组件或DOM元素调用父组件的属性或方法:

this.$parent.属性
this.$parent.方法

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值