vue 动态加载远程js文件,全局变量没有生成

新手上路,请多包涵

在main.js里append一个script,之后直接打印js文件的全局变量,报错未定义,延迟一秒后调用就有,这个时候该怎么判断js文件已加载完成?

阅读 4.7k
2 个回答

html的资源文件都具有onload方法;

onload属性是一个事件处理程序用于处理Window,XMLHttpRequest,<img> 等元素的加载事件,当资源已加载时被触发。

如果需要在Vue上使用,那么需要的操作应该是把空的script加载到 template中,然后需要在这个模板中控制这个script的src属性的内容,同时添加onload属性,这样方法和script资源都可以在vue中来进行控制,比如onload里面触发一个 Promise;这样其他的vue里面可以在这个Promise.then里面完成操作来确保你的脚本被加载;但是而存在加载错误的情况,这就需要兼容下兜底处理,或者重复尝试,但是重试一定要有次数限制,不然死循环就可怕了。

script.onload = function() {}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题