我想从 vuejs 和 laravel 的页面中删除一个脚本标签

I want to remove one script tag from page in vuejs and laravel

我正在为该组件中的更多功能添加一个特殊的脚本文件,但是当我更改组件时,我想删除脚本标签。

以下方法用于在vue组件中添加script标签

created() {
    this.dynamicallyLoadScript("/assets/libs/moment/moment.min.js");s
},
methods: {
    dynamicallyLoadScript(url) {
        var script = document.createElement("script");
        script.src = url;

        document.body.appendChild(script);
    }
}

现在,当我更改组件时,我想删除该脚本。 帮我怎么做?

您可以为该脚本标签添加一个 id,稍后在 destroyed() 方法中,您可以让该脚本通过 id 调用它并删除它。

您可以收听 beforeDestroy 生命周期方法并从文档中删除脚本。

为此,您需要将您 appendChild 创建的 DOM 元素保存在您的 Vue 组件中,并删除 beforeDestroy 生命周期中的脚本标签。

methods: {
    dynamicallyLoadScript(url) {
        var script = document.createElement("script");
        script.src = url;

        this.scriptEle = document.body.appendChild(script);
    }
}

beforeDestroy() {
  document.body.removeChild(this.scriptEle);
}