Задать вопрос

Почему Vue не работает после удаления элемента?

Только начал пробовать vue. Есть проблема - не могу понять почему он перестает работать после удаления и вставки нового элемента.

Т.е. предположим я как-то так инициализирую vue:
var option = {
                            data: config.data,
                            methods: {
                                update: function (data) {
                                    for (var d in data) {
                                        this[d] = data[d];
                                    }
                                },
                            }
                        };
                    
                    
                    var $tmpl = $('#'+id+'_tmpl');
                        option.template = '#'+id+'_tmpl';
                        widget.vue = new Vue(option);
                        // монтируем элементы
                        widget.vue.$mount('#'+id);

Все хорошо. Все работает. Ровно до тех пор пока блок содержащий '#'+id не будет заменен.
Т.е. допустим какой-то другой плагин меняет часть страницы. При этом он вырезает блок содержащий элемент с которым работае vue и заменяет его на новый.
После этого я пробую сделать widget.vue.$mount('#'+id); но ничего не происходит. Я ожидаю что в новый появившийся на странице id будет смонтирован отрендеренный шаблон. Но нет.

Если я пытаюсь просто повторить всю процедуру - т.е. заново инициализирую объект после замены - он тоже, что удивительно не работает.

Я даже пробовал сделать .$destroy(); для widget.vue и потом заново widget.vue = new Vue(option); - но это тоже не работает :(
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы