Vue-如果未加载页面则找不到元素

问题描述 投票:0回答:1

我正在尝试在html中寻找一个元素,但是除非我重新加载页面(使用spa),否则它将返回空。我仅在文档完成时才调用该函数,所以我不明白为什么它不起作用

page.vue

 mounted(){
        documentIsComplete(() => {
             this.myFunction()
        })

    },
    methods:{
        myFunction(){
                const elements= document.getElementsByClassName("someClass")
                console.log(elements)
        }

function.js

const documentIsComplete= callback => {

        if (document.readyState === 'complete') {
            callback()
        } else {
            window.addEventListener('load', () => {
                callback()
            })
        }
}

export default documentIsComplete
javascript dom events javascript-events
1个回答
0
投票

我的猜测是,当您运行检查时,DOM根本就不存在,您可以将myFunction包装在500ms的setTimeout中(不是要解决此问题,而是要确保它不是计时问题)。

© www.soinside.com 2019 - 2024. All rights reserved.