返回顶部
首页 > 资讯 > 精选 >vue获取不到id属性如何解决
  • 331
分享到

vue获取不到id属性如何解决

2023-07-05 01:07:52 331人浏览 薄情痞子
摘要

这篇“Vue获取不到id属性如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue获取不到id属性如何解决”文章吧。v

这篇“Vue获取不到id属性如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue获取不到id属性如何解决”文章吧。

vue获取不到id属性是因为将getElementById用在了“created()”钩子函数中,而Vue尚未完成挂载;其解决办法就是将“created() {let serachBox = document.getElementById('searchBox');...}”代码迁移到“mounted()”钩子函数中即可。

Vue中使用getElementById结果返回元素为null ?

  • 首先,我在项目中用这样一个需求,根据客户端屏幕尺寸动态计算主体区域的高度。

拿到这个需求,我第一想法是通过element.getBoundinGClientRect获取固定元素的尺寸,然后通过document.body.offsetHeight获取可视区域的高度,最终动态计算主体区域的大小。

在created()中使用getElementById

确定思路之后便开始动手coding,于是我在created中写了如下代码:

//此处省去无关代码
created() {
let serachBox = document.getElementById('searchBox');
let searchRect = serachBox .getBoundingClientRect();
console.log('rect',searchRect );
let dffsetHeight = document.body.offsetHeight;
this.tHeight = ( dffsetHeight - searchRect .bottom - 100 );},

结果控制台直接报错了,报错如下
vue获取不到id属性如何解决

根据报错描述,我又向上打印了searchBox元素,这时控制台打印结果为null,这就有点意思了。

mounted()中使用getElementById

仔细一看原来是我将getElementById用在了created()钩子函数中,这时Vue尚未完成挂载,也就不能通过getElementById获取Dom元素,故而控制台打印null。找到原因之后我将上述代码迁移到mounted()钩子函数中,这时控制台打印出正确结果。
vue获取不到id属性如何解决

虽然问题找到了,但是页面的渲染结果却不能满足我的需求。还得继续寻找办法。

created()中结合this.$nextTick()实现业务需求

最终created()中结合this.$nextTick()实现业务需求最终代码如下:

created() {
this.$nextTick(function () {
let serachBox = document.getElementById('searchBox');
let searchRect = serachBox .getBoundingClientRect();
console.log('rect',searchRect );
let dffsetHeight = document.body.offsetHeight;
this.tHeight = ( dffsetHeight - searchRect .bottom - 100 );
})},

以上就是关于“vue获取不到id属性如何解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: vue获取不到id属性如何解决

本文链接: https://lsjlt.com/news/348894.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue获取不到id属性如何解决
    这篇“vue获取不到id属性如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue获取不到id属性如何解决”文章吧。v...
    99+
    2023-07-05
  • vue中attr取不到属性值如何解决
    vue中attr取不到属性值如何解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。js:$(document).ready(function(...
    99+
    2024-04-02
  • javascript如何获取id属性的节点对象
    javascript中获取id属性的节点对象的方法:可以使用“getElementById”方法获取对象数组;语法格式为:“document.getElementById('demo') ”,这里“demo”指的是元素对应的...
    99+
    2024-04-02
  • vue如何获取自定义属性
    在vue中获取自定义属性的方法:1.新建vue.js项目;2.自定义button标签;3.执行代码获取标签属性;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创...
    99+
    2024-04-02
  • session获取不到值如何解决
    如果在session中无法获取到值,可能是由于以下几个原因:1. 会话过期:会话可能已经过期,导致无法获取到值。可以尝试重新登录或延...
    99+
    2023-09-14
    session
  • js中document.cookie获取不到如何解决
    在JavaScript中,使用`document.cookie`可以获取当前页面的cookie。如果无法获取到cookie,可能是由...
    99+
    2023-09-11
    js
  • jquery如何获取属性
    这篇文章主要讲解了“jquery如何获取属性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何获取属性”吧! jqu...
    99+
    2024-04-02
  • jQuery如何获取属性?
    这篇文章将为大家详细讲解有关jQuery如何获取属性?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery 获取属性 前言: jQuery 是一个强大的 JavaScript 库,用于简化与 DOM...
    99+
    2024-04-02
  • NHibernate获取不到数据库如何解决
    如果NHibernate无法连接到数据库,可能有以下几个原因和解决方法:1. 数据库连接字符串错误:请确保数据库连接字符串中的服务器...
    99+
    2023-10-12
    Nhibernate 数据库
  • thinkphp获取不到post数据如何解决
    这篇文章主要介绍“thinkphp获取不到post数据如何解决”,在日常操作中,相信很多人在thinkphp获取不到post数据如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp获取不到p...
    99+
    2023-07-05
  • redis获取不到连接池如何解决
    如果Redis获取不到连接池,可能是由于连接池已满或者出现了其他问题导致无法获取连接。可以尝试以下方法解决: 增加连接池大小:尝...
    99+
    2024-04-09
    redis
  • vue三级数据获取不到怎么解决
    Vue是一个非常流行的JavaScript框架,用于构建用户界面。在Vue开发中,三级数据获取是一个常见的问题。如果你遇到了Vue三级数据获取不到的问题,不要担心,下面我将为您提供几个解决方案。使用递归组件递归组件是指组件在它自己的模板中调...
    99+
    2023-05-14
  • jquery如何获取checked属性
    使用jquery获取checked属性的方法:1.新建html项目,引入jquery;2.创建input输入框,设置type为checked属性;3.通过点击事件获取对象,使用prop方法获取checked属性;具体步骤如下:首先,新建一个...
    99+
    2024-04-02
  • react获取不到页面元素如何解决
    本篇内容介绍了“react获取不到页面元素如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!react获取不到页面元素是因为隐藏的tab...
    99+
    2023-07-04
  • 电脑获取不到ip地址如何解决
    当电脑无法获取IP地址时,可以尝试以下方法来解决问题:1. 检查网络连接:确保网线或Wi-Fi连接正常插入,无线路由器以及调制解调器...
    99+
    2023-08-24
    电脑
  • vue两次赋值页面获取不到的解决
    目录两次赋值页面获取不到第一种方法第二种方法vue赋值不成功问题两次赋值页面获取不到 vue两次赋值console.log出来的值为第二次赋的值尔页面显示的是第一次赋的值 getf...
    99+
    2024-04-02
  • js如何获取css属性值
    这篇文章主要讲解了“js如何获取css属性值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js如何获取css属性值”吧! js获...
    99+
    2024-04-02
  • springboot如何获取properties属性值
    这篇文章主要介绍springboot如何获取properties属性值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!获取properties属性值方式总结spring boot 在多环境情况下我们需要根据不同的获取不...
    99+
    2023-06-29
  • vue两次赋值页面获取不到怎么解决
    这篇文章主要介绍“vue两次赋值页面获取不到怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue两次赋值页面获取不到怎么解决”文章能帮助大家解决问题。两次赋值页面获取不到vue两次赋值con...
    99+
    2023-06-30
  • JavaScript如何根据属性获取属性的父级
    这篇文章主要介绍“JavaScript如何根据属性获取属性的父级”,在日常操作中,相信很多人在JavaScript如何根据属性获取属性的父级问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript如...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作