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

Vue中ref和$refs的介绍及使用在 JavaScript 中需要通过 document querySelecto demo 来获取 dom 节点 然后再获取这个节点的值 在 Vue 中 我们不用获取 dom 节点 元素绑定 ref 之后 直接通过 this refs 即可调用 这样可以减少获取 dom 节点的消耗 ref 介绍 ref 被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs 对象上 如果在普通的 D

       在JavaScript中需要通过document.querySelector(“#demo”)来获取dom节点,然后再获取这个节点的值。在Vue中,我们不用获取dom节点,元素绑定ref之后,直接通过this.$refs即可调用,这样可以减少获取dom节点的消耗。

ref介绍

ref被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向该子组件实例

通俗的讲,ref特性就是为元素或子组件赋予一个ID引用,通过this.$refs.refName来访问元素或子组件的实例

<p ref="p">Hello</p> <children ref="children"></children>
this.$refs.p this.$refs.children

this.$refs介绍

this.$refs是一个对象,持有当前组件中注册过 ref特性的所有 DOM 元素和子组件实例

注意: $refs只有在组件渲染完成后才填充,在初始渲染的时候不能访问它们,并且它是非响应式的,因此不能用它在模板中做数据绑定

注意:

当ref和v-for一起使用时,获取到的引用将会是一个数组,包含循环数组源

<template> <div> <div ref="myDiv" v-for="(item, index) in arr" :key="index">{ 
  {item}}</div> </div> </template> <script> export default { data() { return { arr: ['one', 'two', 'three', 'four'] } }, mounted() { console.log(this.$refs.myDiv) }, methods: {} } </script> <style lang="sass" scoped> </style> 
Vue中ref和$refs的介绍及使用

实例(通过ref特性调用子组件的方法)

【1】子组件code:

<template> <div>{ 
  {msg}}</div> </template> <script> export default { data() { return { msg: '我是子组件' } }, methods: { changeMsg() { this.msg = '变身' } } } </script> <style lang="sass" scoped></style> 

【2】父组件code:

<template> <div @click="parentMethod"> <children ref="children"></children> </div> </template> <script> import children from 'components/children.vue' export default { components: { children }, data() { return {} }, methods: { parentMethod() { this.$refs.children //返回一个对象 this.$refs.children.changeMsg() // 调用children的changeMsg方法 } } } </script> <style lang="sass" scoped></style> 

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232305.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 第三方模块 科学计算 SciPy模块1 简介,常数,IO「建议收藏」

    Python 第三方模块 科学计算 SciPy模块1 简介,常数,IO「建议收藏」一.介绍1.介绍:SciPy是1个Python开源库,在BSD授权下发布,主要用于数学/科学/工程计算.SciPy依赖于NumPy来提供方便快速的n维数组操作.组合使用NumPy+SciPy+Matplotlib可以在很大程度上替代MATLAB,并且功能更强大,编程更容易…

    2022年6月28日
    30
  • 第十五章《键的管理》

    第十五章《键的管理》

    2021年5月29日
    89
  • 鼠标移到导航上面 当前的LI变色 处于当前的位置

    鼠标移到导航上面当前的LI变色处于当前的位置,广泛应用于当前导航。点击这里查看效果以下是源代码:1234鼠标移到导航上面当前的LI变色处于当前的位置-柯乐义51314152

    2021年12月20日
    57
  • 激光SLAM入门学习笔记[通俗易懂]

    激光SLAM入门学习笔记[通俗易懂]激光SLAM入门学习笔记(持续更新)激光SLAM入门学习笔记(持续更新)一、推荐阅读书籍二、推荐公众号、知乎、博客1、公众号2、知乎3、博客三、推荐阅读论文&代码(参考泡泡机器人)2D激光SLAM3D激光SLAM1、LOAM(经典)2、A-LOAM(初学)3、LeGO-LOAM(进阶)4、Lio-mapping(进阶、LIO初学)5、hdl_graph_slam(入门)10、SC-LeGO-LOAM(应用推荐)激光SLAM入门学习笔记(持续更新)一、推荐阅读书籍视觉SLAM十四讲概率机器人

    2022年8月23日
    10
  • 基于 vue 实现的电商后台管理系统

    基于 vue 实现的电商后台管理系统源码地址:https://github.com/Hero601/vue_shop后端接口:https://goal.lanzous.com/b01c5hhsb密码:5ees免费的小星星点一个吧~

    2022年5月6日
    77
  • linux+shell脚本100,shell脚本(shell编程100例)

    linux+shell脚本100,shell脚本(shell编程100例)ShellScript,Shell脚本与Windows/Dos下的批处理类似,也便是用各类指令预先放入到一个文件中,便利一次性执行的一个程序文件,主要是便利办理员进行设置或许办理用的。可是它比Windows下的批处理更强大,比用其他编程程序修改的程序功率更高,它使用了Linux/Unix下的指令。shell编程100例1、编写helloworld脚本#!/bin/bash#编写helloworld…

    2022年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号