冇事来学系--Vue2.0中ref引用

简介: jQuery相比于原生JS,牛逼在简化了操作DOM的过程vue的优势:MVVM框架,在vue中,不需要操作DOM,程序员只需要把数据维护好即可(数据驱动视图)假设:在vue中需要操作DOM,需要获取到页面上某个DOM元素的引用,该如何?---> 使用ref引用

ref引用


ref是用来辅助开发者在不依赖于jQuery的情况下,获取DOM元素或组件的引用

每个vue的组件实例上(VueComponent),都包含一个*refs对象∗,里面存储着对应的DOM元素或组件的引用(组件实例对象)默认情况下,组件的refs对象*,里面存储着对应的 DOM元素或组件的引用(组件实例对象)  默认情况下,组件的refs,DOM()refs指向一个空对象。在DOM元素的标签内设置了ref属性之后,$refs就会指向包含这些DOM元素的对象

// ref引用的使用方法
<template>
  <h1 ref="myh1">App 根组件</h1> 
  // 在h1中设置属性ref并令值为myh1
  <button @click="changeColor">点击让h1变成红色</button>
</template>
<script>
  export default {
    methods: {
      changeColor(){
        console.log(this.$refs.myh1)
        // this指向组件实例对象vc,$refs是其中一个属性,是存着对应DOM元素的对象,myh1就是该对象中的一个属性,指向h1这个元素
        this.$refs.myh1.style.color = 'red'   // 设置字体颜色
      }
    }
  }
</script>



使用ref引用组件实例

ref属性除了可以加在标签中,还可以加在组件中

// 在父组件中操作子组件
<template>
  <h1 ref="myh1">App 根组件</h1> 
  <Left ref="comLeftRef"></Left>
</template>
<script>
  export default {
    methods: {
      onReset(){
        console.log(this.$refs.comLeftRef)
        // this.$refs.comLeftRef指向的就是Left组件
        // this指向App根组件的实例对象,$refs是其中一个属性,是存着对应DOM元素的对象,里面存着两个属性,其中的comLeftRef属性就指向Left组件。
      }
    }
  }
</script>



this.$nextTick(callback)方法

当某些代码的执行需要延迟到DOM重新渲染完毕之后时,就可以使用this.$nextTick(callback)方法

组件的$nextTick(callback)方法,会把callback回调函数推迟到下一个更新周期之后执行。即等组件的DOM更新完成之后,再执行callback回调函数,从而保证callback回调函数可以操作到最新的DOM元素。

this.$nextTick(()=> {
  // 需要执行的代码
})
// 如果不使用this.$nextTick(callback)方法,直接执行代码就会报错undefined。因为数据更新之后,DOM



目录
相关文章
|
3月前
|
前端开发 JavaScript
简记 Vue3(一)—— setup、ref、reactive、toRefs、toRef
简记 Vue3(一)—— setup、ref、reactive、toRefs、toRef
|
4月前
|
JavaScript API
vue3知识点:ref函数
vue3知识点:ref函数
54 2
|
4月前
|
API
vue3知识点:reactive对比ref
vue3知识点:reactive对比ref
46 3
|
5月前
|
JSON JavaScript API
Vue3基础(一)___ref
本文介绍了Vue 3中的`ref`函数的使用方法,解释了在Vue 3的组合式API中如何通过`ref`创建响应式数据,并在模板中使用这些数据。文章通过示例代码展示了如何声明响应式数据、如何在方法中修改这些数据,以及如何将响应式数据和方法返回以在模板中使用。
53 1
Vue3基础(一)___ref
|
5月前
|
JavaScript
Vue3 : ref 与 reactive
Vue3 : ref 与 reactive
132 1
|
6月前
|
JavaScript 前端开发 数据管理
|
6月前
|
JavaScript 开发工具 git
Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
这篇文章分析了Vue脚手架的结构,并详细讲解了`ref`属性和`Props`配置的基础知识、代码实现和测试效果,展示了如何在Vue组件中使用`ref`获取DOM元素或组件实例,以及如何通过`Props`传递和接收外部数据。
Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
|
6月前
|
JavaScript API 开发者
Vue 3 为什么同时需要 Ref 和 Reactive?
Vue 3 为什么同时需要 Ref 和 Reactive?
|
7月前
手写 vue3 的 ref,reactive 和 watchEffect
手写 vue3 的 ref,reactive 和 watchEffect
48 0
|
7月前
|
存储 JavaScript 前端开发
vue3【实用教程】声明响应式状态(含ref,reactive,toRef(),toRefs() 等)
vue3【实用教程】声明响应式状态(含ref,reactive,toRef(),toRefs() 等)
160 0

热门文章

最新文章