我是靠谱客的博主 怕孤单草莓,最近开发中收集的这篇文章主要介绍dom加载后执行 vue_如何在Vue完全加载和初始化后运行VueJS代码?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

bd96500e110b49cbb3cd949968f18be7.png

I am working on a Vue component that will be placed on multiple websites via a CMS system. The issue I encounter is that even if my js scripts loading order is correct, sometime I get this error:

Uncaught ReferenceError: Vue is not defined

at HTMLDocument.

Vue is loaded via cdn and it's above the component's code.

All the Vue code is run like this:

document.addEventListener("DOMContentLoaded", () => {

// here is the Vue code

});

I even added a setTimeout() inside the DOMContentLoaded event and still did not do the trick.

window.onload = function() did not work either in all cases. I still got that error from time to time.

The scripts are loaded in the body.

Do you have any idea what it can be another approach? I want to be sure that in the moment the Vue code is fired, Vue is loaded and ready to be initialized on the page.

Thank you!

解决方案

Use the load event to wait until all resources have finished loading:

window.addEventListener("load", function(event) {

// here is the Vue code

});

DOMContentLoaded is an event fired when the HTML is parsed and

rendered and DOM is constructed. It is usually fired pretty fast in

the lifetime of the app. On the other hand, load is only fired when

all the resources (images, stylesheets etc.) are retrieved from the

network and available to the browser.

最后

以上就是怕孤单草莓为你收集整理的dom加载后执行 vue_如何在Vue完全加载和初始化后运行VueJS代码?的全部内容,希望文章能够帮你解决dom加载后执行 vue_如何在Vue完全加载和初始化后运行VueJS代码?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部