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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」

    eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程

    2022年4月23日
    71
  • 一个简单的多的socket http 下载原型 perl

    一个简单的多的socket http 下载原型 perl

    2021年4月30日
    151
  • Navicat Premium 12激活成功教程激活

    Navicat Premium 12激活成功教程激活下载NavicatPremium12并安装;蓝奏云下载:NavicatPremium12注册机重要提示:该注册机来源于DeltaFoX。一般来说,由于注册机会修改.exe文件或.dll文件,加壳并且没有数字签名,所以杀毒软件会报毒。如需使用本注册机或者下载后找不到文件,需要关闭杀毒软件或将本注册机添加至杀毒软件白名单。自行决定是否使用本注册机。以管理员身份运行此注册机:…

    2025年7月30日
    3
  • 用fiddler抓包小程序

    用fiddler抓包小程序第一步:安装fiddler,保证手机和PC端在同一个wifi下;第二步:设置属性按图勾选第三步:以上两步设置完后,重启下fiddler(解决本地服务器不能访问),然后查看本地IP地址第四步:手机设置HTTP代理我的服务器IP是192.168.1.5端口号设置的是8888,在手动选项框输入第五步:代理设置完成,用safari打开服务器,http://192.168.1.5:8888(如果打不开…

    2022年6月17日
    39
  • 学习双拼必看:双拼输入法的心得以及快速入门办法

    学习双拼必看:双拼输入法的心得以及快速入门办法1.简单介绍一下双拼2.总共18种双拼方案3.15种双拼方案的具体映射4.顺便提一下双拼口诀的事情5.总结不同平台选择的方案双拼(也称双打)是一种建立在拼音输入法基础上的输入方法,可视为全拼的一种改进,它通过将汉语拼音中每个含多个字母的声母或韵母各自映射到某个按键上,使得每个音都可以用两个按键打出,极大地提高了拼音输入法的输入速度。这种声母或韵母到按键的对应表通常称之为双…

    2022年6月23日
    45
  • WBS分解策略指南

    WBS分解策略指南1 nbsp nbsp nbsp nbsp nbsp nbsp 引言渐近明细是项目的特点 但这并不意味着不需要计划 没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目 在软件高技术行业 日新月异是主要特点 因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善 例如对于较为大型的软件开发

    2025年9月24日
    0

发表回复

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

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