vue中的ref属性

  使用vue开发时经常会用到ref属性,ref属性有什么作用呢?我刚开始用的时候发现这个属性有点鸡肋,总是感觉可有可无,但是随着不断的使用vue,慢慢地发现它的作用还是挺重要的,比如:有时候我们想在父组件中调用子组件的方法或属性,这个时候该怎么做呢?可以通过为子组件设置ref,然后通过this.$refs.refName(refName为子组件的ref值)获取到子组件,然后就可以随意调用子组件的方法和属性了。又比如:有时候我们想操作子组件或HTML标签的DOM,在vue中我们几乎不使用class或id来获取元素的DOM,这个时候该怎么做呢?可以为子组件或想要操作的DOM标签添加ref属性,然后通过this.$refs.refName.$el或者this.$refs.refName来获取DOM。

那么在使用ref时要注意什么呢?

根据ref使用的对象不同,获取到的结果也是不一样的:

<1> 自定义组件使用ref属性,通过ref值可获取到该自定义组件;

<2> 普通HTML标签使用ref属性,通过ref值获取到的是该标签对应的DOM;

举个demo:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><div id="app"><hello ref="hello"></hello><div ref="div"></div></div><script src="https://unpkg.com/vue"></script><script>const Hello = {template: '<h1>Hello, {{name}}</h1>',data(){return {name: 'Ryan',}},}const app = new Vue({el: '#app',components: {Hello,},mounted() {console.log(this.$refs, this.$refs.hello, this.$refs.div);},})</script>
</body>
</html>

demo中,分别为自定义组件Hello和div标签设置ref属性,并在DOM挂载后将使用ref值获取的结果打印出来。如图:

vue中的ref属性相关推荐

  1. Vue 中的 ref 属性详解

    Vue 中的 ref 属性详解 我们先来读一下vue的官方文档 我们来分析官方文档 首先ref的引用是相当于一个DOM节点(如果是子组件则指向的是其实例),而且是一个string类型的值. 通俗的将就 ...

  2. vue中通过ref属性来获取dom的引用

    ref属性可以用来获取dom的引用,它的值可以随便定义, 但是注意这个名字不要和页面中其他的ref属性名相同,获取定义的ref可以通过this.$refs.ref的名字 <div id=&quo ...

  3. Vue学习之ref属性

    简介 主要讲解vue中的ref属性. 直接先说结论: 专门被用来给html元素和子组件注册引用信息的(id属性的替代者). 该属性应用在html元素时,获取的是dom元素对象,如果应用在组件标签上,那 ...

  4. Vue中的ref是做什么的?

    Vue 中的 ref 属性详解_前端大猪草的博客-CSDN博客 Vue 中的 ref 属性详解 我们先来读一下vue的官方文档 我们来分析官方文档 首先ref的引用是相当于一个DOM节点(如果是子组件 ...

  5. [vue] vue中data的属性可以和methods中的方法同名吗?为什么

    [vue] vue中data的属性可以和methods中的方法同名吗?为什么 源码 中的 initData() 方法 if (methods && hasOwn(methods, ke ...

  6. vue - 深入理解vue中的scoped属性

    文章目录 1,前言 2,scoped原理 3,父子组件使用scoped的不同情况 4,第一种:父组件未添加scoped,子组件未添加scoped 5,第二种:父组件未添加scoped,子组件添加sco ...

  7. Vue中的 ref 和 $refs

    官网解释: ref 被用来给DOM元素或子组件注册引用信息.引用信息会根据父组件的 $refs 对象进行注册.如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例 ...

  8. Vue中的 props 属性

    1.什么是 props  props 用于组件的传值,他的工作就是为了接受外面传过来的数据,是一个配置项,与data.el.ref 是一个级别的. 2.props 的使用 --1 先准备子组件 Tex ...

  9. vue中$el等属性

    1. 属性: 只举例常见的部分属性 * vm.$el 获取Vue实例关联的DOM元素:* vm.$data 获取Vue实例的data选项(对象)* vm.$options 获取Vue实例的自定义属性( ...

最新文章

  1. 关于WSE_CLIPSIBLINGS
  2. java8新特性学习笔记链接
  3. Focal Loss笔记
  4. C++二维码相关库编译
  5. 关于android ksoap获取失败的问题
  6. c# mysql timeout expired_C#百万数据查询出现超时问题的解决方法
  7. Linux平台安装xtools
  8. 为什么写C语言弹不出窗口,居然还有SB说C写不出窗口的..
  9. 5种SpringBoot热部署方式,你用哪种?
  10. Vue、element-ui的resetFields()方法重置表单无效问题及解决办法
  11. 打靶(递归算法) | 八皇后(回溯算法)
  12. 三星帝国的风险:四大业务同荣同损
  13. 腾讯视频qlv格式转换mp4普通视频方法
  14. less文件中导入另一个less文件
  15. 调用新浪接口查询IP地址
  16. WingIDE 7.2.0 远程调试
  17. Android虚拟机的理解和内存管理
  18. 【运维面试】面试官:你觉得网站访问慢的原因有哪些?
  19. 新能源行业商业采购协同系统:赋能新能源行业采购业务,提升产业协同
  20. 如何让你的电脑变成WIFI热点

热门文章

  1. Python实现二分查找算法,图片结合代码讲解,简单易懂
  2. 电量检测+软件施密特触发器逻辑
  3. 【C语言】 -- 三子棋(代码+解析)
  4. rails 的 Helpers
  5. [Direct2D开发] 绘制网格
  6. udp协议 http协议
  7. Ubuntu18.04更改系统语言并安装中文输入法
  8. Unity 渲染管线
  9. 基于Kubernetes集群部署完整示例——Guestbook
  10. Android 走向MD的配色风格