vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue3 ref解决GetElementById为空

Vue3使用ref解决GetElementById为空的问题

作者:程序员正茂

今天遇到一个问题,就是在Vue3组件中需要获取template中的元素节点,使用GetElementById返回的却是null,网上查找了好些资料,才发需要使用ref,所以本文给大家介绍了Vue3组件中如何使用ref解决GetElementById为空的问题,需要的朋友可以参考下

1.Vue3 中 ref 访问单个元素

<template>
  <div ref="hello">我爱北京天安门</div>
</template>
<script setup lang="ts">
import { onMounted, ref } from "vue";
const hello = ref<any>(null);
onMounted(() => {
  console.log(hello.value); // <div>我爱北京天安门</div>
});
</script>

注意:

2.Vue3 中 ref 访问v-for元素

<template>
  <ul>
    <li v-for="item in 10" ref="itemRefs">
      <p>{{item}} - 同学</p>
    </li>
  </ul>
</template>
<script setup lang="ts">
import { onMounted, ref } from "vue";
 
 
const itemRefs = ref<any>([]);
onMounted(() => {
  console.log(itemRefs.value);
});
</script>

注意,这里取到的是<li>元素节点,要取到<p>,则需要从childNodes中获取

itemRefs.value[i].childNodes[0]

到此这篇关于Vue3使用ref解决GetElementById为空的问题的文章就介绍到这了,更多相关Vue3 ref解决GetElementById为空内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文