美文网首页
(十一)template和ref获取元素或组件实例

(十一)template和ref获取元素或组件实例

作者: Mr_莫言之 | 来源:发表于2020-10-22 09:20 被阅读0次
这一节将介绍到的是Vue3.x中我们如何通过ref获取元素节点或者组件实例

1、概述:通过ref获取模板元素节点
2、使用:由vue提供,按需引入:import { ref } from 'vue';
3、回顾:options API中是:this.refs.refAdd(获取某个组件) 或者 this.refs.refDiv(获取某个元素节点)
3、用例:

  • 在组件或节点中定义ref属性:add(ref="refAdd")或div(ref="refDiv")
  • 在setup中定义对应ref属性值相同的变量名,赋值为任意值即可
  • 访问方式为:refAdd.value或refDiv.value
<template>
  <div ref="divBox">content</div>
</template>

<script>
  import { ref } from 'vue';

  export default {
    setup() {
      const divBox= ref(null); // <div ref="divBox">content</div>
      const user= ref(null); // user.value --> null
      return { divBox };
    };
  };
</script>

4、注意:①:元素节点对应ref的分配只会在render时进行对比赋值,因此若在setup中未将对应的响应式变量return出来,则不会获取到组件实例或元素节点。②:在满足①的前提下,只要在定义变量时变量名称与当前组件中ref属性值相同,则该变量会被统一赋值为组件实例或者元素节点,与定义变量时的赋值无关。
5、扩展(RFC.5版本没有此功能):因我们还在setup的context中访问到refs对象,所以获取组件实例或者元素节点的方式还可以是:

<template>
  <div ref="divBox">content</div>
</template>

<script>
  import { ref } from 'vue';

  export default {
    setup(props, { refs }) {
      const divBox= refs.divBox;
      return { divBox };
    };
  };
</script>

下一章:(十二)Vue3.x中重写的v-model
上一章:(十)provide和inject

ps:一切你认为的困难,都是你的欲望和不自信在作祟。

相关文章

  • (十一)template和ref获取元素或组件实例

    这一节将介绍到的是Vue3.x中我们如何通过ref获取元素节点或者组件实例 1、概述:通过ref获取模板元素节点2...

  • Vue的ref的使用

    一.什么是ref ? ref用来辅助我们获取DOM元素或组件的引用实例对象,每个vue的组件实例上,都包含一个re...

  • 2020-07-04 ref和$refs

    ref 给元素或子组件添加ref属性,则该元素或者子组件实例对象会被添加到当前组件实例对象下的$refs属性中 $...

  • Vue 组件

    全局组件引入 局部组件引入 ref获取dom节点、获取组件引用 ref在html元素获取的是dom节点ref在组件...

  • 19.ref获取DOM元素和组件

    1.ref获取vue中的DOM元素和组件:

  • React获取DOM

    React获取DOM的方法简述 createRef 当 ref 属性在组件时,获取组件实例;当ref属性在dom时...

  • vue3+ts获取组件Type-safe ref 实例

    在 vue3 中获取组件的类型: 在template中获取组件的ref tsx等render组件中获取的方式更简单...

  • React Refs

    终于看到最后一章了。你可以通过使用 this 来获取当前 React 组件,或使用 ref 来获取组件的引用,实例...

  • React 中 ref 的使用

    ref 是一个入口 允许您直接访问DOM元素或组件实例。使用ref的三大原则:1.可以在dom元素上面使用ref属...

  • Vue学习笔记之八获取组件对象和使用vue-router

    8 获取dom对象和组件的对象 ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs对...

网友评论

      本文标题:(十一)template和ref获取元素或组件实例

      本文链接:https://www.haomeiwen.com/subject/rvrnpktx.html