众所周知,原生js获取DOM元素是很麻烦的,需要用如:document.getElementById这么长的API来获取,于是jQuery应运而生,$("#id")的使用使我们的操作变得简便起来。但是jQuery仅仅是库(插件),不能够用来搭建框架。于是vue可以帮我们解决这个问题,vue也有自带的获取DOM的方法,那就是ref。它不仅可以获取DOM元素还可以获取组件。

一、获取DOM,操作DOM

1、给dom节点记上ref属性,可以理解为给dom节点起了个名字。

2、加上ref之后,在$refs属性中多了这个元素的引用。

3、通过vue实例的$refs属性拿到这个dom元素。

<div id="box" ref="refdiv"> haha</div>
<div id="box2" ref="refdiv2"> haha</div>
//这些元素最早可以在mounted声明函数中获得
mounted(){this.$refs.refdiv.style.color = 'red'//修改box的字体颜色
}

二、获取组件,拿到组件中的变量和方法

1、给组件记上ref属性,可以理解为给组件起了个名字。

2、加上ref之后,在$refs属性中多了这个组件的引用。

3、通过vue实例的$refs属性拿到这个组件的引用,之后可以通过这个引用调用子组件的方法,或者获取子组件的数据。

<son id="son2" ref="son2"></son>
<template id="son"><div>son<button @click="log1">按钮</button></div></template>Vue.component("son",{template:"#son",data(){return{msg:"hello"}},methods:{log1(){console.log(1);}}})
data: {sonmsg:""},mounted() {this.sonmsg = this.$refs.son2.msg//调用组件中的方法this.$refs.son2.log1()},

也可以通过给变量赋值的方法,展示该组件中的内容。

vue中ref的使用相关推荐

  1. vue中ref 的使用

    在vue 中  ref 和 refs 的使用: <ul ref="ul" class="his-list listItem" style="pa ...

  2. 【vue】vue中ref用法

    1.获取当前元素: 例子: <div class="pop pos-a" :style="{ left: pop_x + 'px' ,top: pop_y + 'p ...

  3. Vue中 $ref 的用法

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

  4. Vue中ref的作用???

    为什么出现ref 在没有学习Vue之前,我们实现直接操作页面上的DOM元素都是通过JS/jQuery,因为jQuery对DOM元素的操作非常的方便 但是学习了vue之后 就比jquery更方便 所以它 ...

  5. Vue中ref和$refs的介绍及使用

    在JavaScript中需要通过document.querySelector("#demo")来获取dom节点,然后再获取这个节点的值.在Vue中,我们不用获取dom节点,元素绑定 ...

  6. Vue中ref的用法:获取DOM 父获取子数据 父使用子方法 子调用父方法

    获取本页面dom元素 <template><div id="app"><div ref="testDom">11111< ...

  7. VUE中 ref $refs 使用详解,扩展到$parent 、$children 的使用

    $refs 的使用方法就是在元素或组件标签上添加ref属性指定一个引用信息,引用信息将会注册在父组件的$refs对象上,在js中使用$refs来指向DOM元素或组件实例: 应用一:在DOM元素上使用$ ...

  8. Vue中ref和$refs的介绍与使用

    之前没怎么注意 ref 的使用.后来一次结合 for 循环使用.才发现 ref 的使用细节满满.于是就总结了一下. ref作用 用来给元素或者子组件注册引用信息.引用信息将会注册给父组件的$refs对 ...

  9. vue中ref、reactive和 toRefs toRef

    ref和reactive都是响应式的引用,其原理是通过 proxy 对数据进行封装,当数据变化时,触发模版等内容的更新, ref 处理基础类型的数据(string,number..),reactive ...

最新文章

  1. 关于学习Python的一点学习总结(27->关键字参数和默认值)
  2. 数据结构 单链表 C
  3. Android开发之Android studio代码版本回退教程
  4. 红帽正式宣布发布JBoss BPM Suite 6和JBoss BRMS 6
  5. [html] 后缀.html和.htm有什么区别?
  6. Zabbix 安装agent
  7. oracle数据库触发器删除不,Oracle之后删除触发器
  8. 【Python爬虫】Beautiful Soup库入门
  9. 创建型模式之单例模式
  10. 前端开发人员MAC装机工具
  11. android 圆形进度条样式,Android编程之ProgressBar圆形进度条颜色设置方法
  12. Java spring boot 开发中控Live10R指纹采集器linux(指纹登录系统)
  13. linux驱动篇-Led
  14. 小鑫的算法之路:leetcode0704 二分查找
  15. win10常用快捷键和常用DOS命令
  16. RPG Maker MV 密码宝箱
  17. ACL 2021 | 基于全局字符关联机制联邦学习的中文分词
  18. 为什么要分库分表?一个业务场景来理顺它!
  19. Java 开发最容易写的 10 个bug
  20. 学用ORACLE AWR和ASH特性(4)-生成指定SQL的统计报表

热门文章

  1. org.activiti.engine.ActivitiIllegalArgumentException: inputStream for resource '**' is null 的解决办法
  2. Cascader 级联选择器、Select 选择器和date-picker日期选择器的宽度设置
  3. IEEE754数据生成 (附C++代码)
  4. [转载]将Excel中的图片URL地址转成图片文件
  5. vue当中addRoutes动态添加路由白屏解决和next(),next(“/“)的一些区别
  6. java mysql 时间查询_java 根据时间段查询数据库
  7. 【Python】scikit-image的measure,morphology,io,filters等
  8. vue中v-for使用key
  9. 使用uniapp开发, 引入腾讯位置服务
  10. 金属新材料行业:一体压铸,一触即发