vue ---- ref

ref的使用

获取HTML的dom元素

① 添加ref属性<h1 ref="zs1">App 根组件 {{books.length}}</h1>
②从vue对象中获取 this.$refs.zs1

<h1 ref="zs1">App 根组件 {{books.length}}</h1>
<button @click="changeColor">点击变红</button>
changeColor(){
  console.log(this);
  this.$refs.zs1.style.color = 'red'
},

获取组件的引用

案例需求
点击父组件中的按钮,操作子组件中的数据或方法
案例分析
需要获取到子组件的this对象,即子组件的vue对象

<Left ref="refLeft"></Left>
<button @click="change">点击操作子组件</button>
change(){
	//子组件的this对象
	console.log(this.$refs.refLeft)
	this.$refs.refLeft.count = 0
	this.$refs.refLeft.reSet()
}

this.$nextTick(cb) 方法

在这里插入图片描述

组件的 $nextTick(cb) 方法,会吧cb 回调推迟到下一个 dom 更新周期之后执行

案例需求:input 输入框 和 按钮 按需展示,input输入框自动获取焦点

<input type="text" v-if="inputVisible" @blur="showButton" ref="iptRef">
<button v-else @click="showInput">输入</button>
  data(){
    return{
      inputVisible:false,

  methods: {
    showInput(){
      this.inputVisible = true
      this.$nextTick(()=>{
        this.$refs.iptRef.focus()
      })
    },
    showButton(){
      this.inputVisible = false
    },
    changeColor(){
      console.log(this);
      this.$refs.zs1.style.color = 'red'
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠闲的线程池

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值