Vue.js Nuxt:如何仅在重新加载后执行外部脚本?

Vue.js Nuxt:如何仅在重新加载后执行外部脚本?,vue.js,nuxt.js,Vue.js,Nuxt.js,Nuxt/Vue:如何在DOM重新提交后调用外部脚本(由第三方托管)?在每条路线上 我正在使用一个脚本向dom添加元素,但虚拟dom不匹配。因此,一旦脚本添加了元素,虚拟dom就会将它们全部删除 添加延迟标记没有任何作用,它只是在初始渲染后加载脚本,然后在重新渲染器中也会发生同样的事情 使用这样的框架,这个问题可能很常见 没有错误消息-只需在重新加载之前闪现一次dom元素。这是我当前设置的预期行为,但我正在寻找(不顾一切地)解决方法。首先,您需要制作一个插件: export default ({

Nuxt/Vue:如何在DOM重新提交后调用外部脚本(由第三方托管)?在每条路线上

我正在使用一个脚本向dom添加元素,但虚拟dom不匹配。因此,一旦脚本添加了元素,虚拟dom就会将它们全部删除

添加延迟标记没有任何作用,它只是在初始渲染后加载脚本,然后在重新渲染器中也会发生同样的事情

使用这样的框架,这个问题可能很常见


没有错误消息-只需在重新加载之前闪现一次dom元素。这是我当前设置的预期行为,但我正在寻找(不顾一切地)解决方法。

首先,您需要制作一个插件:

export default ({ app: { head, router, context } }, inject) => {
  head.scripts.push({
    src: 'http(s)://example.com/script.js'
    async: false,
    defer: true
  })
})
然后将插件添加到
plugins:[]
部分的
nuxt.config.js

plugins: [
  // ....
  { src: '~/plugins/script-injecter.js', ssr: false }
] 

现在它只在页面加载时提供,使用
async:false
defer:true
,它只会在页面加载完成后执行。

首先,您要制作一个插件:

export default ({ app: { head, router, context } }, inject) => {
  head.scripts.push({
    src: 'http(s)://example.com/script.js'
    async: false,
    defer: true
  })
})
然后将插件添加到
plugins:[]
部分的
nuxt.config.js

plugins: [
  // ....
  { src: '~/plugins/script-injecter.js', ssr: false }
] 

现在它只在页面加载时提供,使用
async:false
defer:true
,它只会在页面加载完成后执行。

numxt.config.js
中引用脚本时,可以使用
defer:true


numxt.config.js
中引用脚本时,可以使用
defer:true


这是什么脚本?如果它改变了影响vue的dom,唯一的办法就是将其包装到vue中,它是什么脚本?如果它改变了影响vue的dom,唯一的办法就是将其包装到vue中