Я хочу удалить один тег скрипта со страницы в vuejs и laravel - PullRequest
0 голосов
/ 26 апреля 2020

Я добавляю специальный файл сценария для большей функциональности в этом компоненте, но когда я изменяю компонент, я хочу удалить тег сценария.

следующий метод используется для добавления тегов сценария в компоненте 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);
    }
}

Теперь, когда я меняю компонент, я хочу удалить этот скрипт. помогите как это сделать?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Вы можете прослушать beforeDestroy метод жизненного цикла и удалить скрипт из документа.

Для этого вам нужно сохранить созданный из вас элемент DOM appendChild в компоненте 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);
}
0 голосов
/ 26 апреля 2020

Вы можете добавить идентификатор для этого тега сценария, а затем в методе destroy () вы можете получить этот сценарий, вызывая его по идентификатору, и удалить его.

...