Только начал пробовать 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); - но это тоже не работает :(