【vue】5、ref的使用

ref基础使用

给div标签添加一个ref属性。

  <div ref="colorboxref" style="width: 200px;height: 200px">这里是什么颜色??</div>

在方法中通过$rerfs和ref的值来获得div的DOM

changeColor() {
      console.log("hello")
      this.$refs.colorboxref.style.color = "red"
      // this.$refs["color-box-ref"].color = "red"
    }

通过ref父组件获得子组件的DOM

给子组件加上ref属性,通过$refs来获得子组件。
可以获得子组件的data和methods。

    <Test ref="testref"></Test>
this.$refs.testref.color="green"
this.$refs.testref.printColor()

this.$nextTick

有一种特殊情况,当触发某个事件时,需要同时修改data和操作DOM元素。但是vue在data修改后会重新渲染界面,如果渲染界面时需要重新生成一个标签,但是渲染未完成导致标签的DOM无法操作,此时需要一个延迟执行。

//展示一个输入框,在渲染完成后才可以操作输入框的DOM元素    
  this.isInput = true
//延迟至到渲染结束DOM元素生成时再操作DOM
  this.$nextTick(()=>{
       this.$refs.inputRef.focus()
  })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值