【问题标题】:I want to remove one script tag from page in vuejs and laravel我想从 vuejs 和 laravel 的页面中删除一个脚本标签
【发布时间】:2020-04-26 09:42:28
【问题描述】:

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

在vue组件中添加脚本标签的方法如下。

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);
    }
}

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

【问题讨论】:

    标签: javascript vue.js laravel-mix


    【解决方案1】:

    您可以收听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);
    }
    

    【讨论】:

      【解决方案2】:

      你可以为那个脚本标签添加一个id,然后在destroy()方法中你可以让那个脚本通过id调用它并删除它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-27
        • 1970-01-01
        • 2020-02-25
        • 1970-01-01
        • 1970-01-01
        • 2023-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多