Я получаю данные из базы данных с помощью Ajax и отображаю их в таблице HTML с помощью VueJS. Я позволяю пользователю выполнять некоторые действия с данными (добавлять новую строку, редактировать, удалять). Он работает отлично.
Моя проблема в том, что я хотел бы разместить DataTable, чтобы пользователь мог проводить исследования и сортировать строки в таблице. Я просто делаю: $ ('my-table'). DataTable (); в таблице HTML уже отображается Vue. Это работает, пока я не хочу изменить свои данные. Они изменены в экземпляре Vue, но не отображаются в DataTable.
На данный момент я попытался использовать метод destroy () в моем DataTable, а затем переделать и экземпляр, и у меня есть странный результат, вот мой код, когда я хочу обновить свой DataTable:
$('my-table').DataTable().destroy();
// Here I'm getting the data and put it in the Vue instance
// Once it's done I simply re-mount the DataTable :
$('my-table').DataTable();
И он не обновляется, он удваивает уже существующую строку или отображает строку, которую я вставил, пока я не изменю текущую страницу.
Что еще более странно, если я сделаю:
$('my-table').DataTable().destroy();
// Here I'm getting the data and put it in the Vue instance
Итак, теперь это простая таблица HTML на моей странице, правильно обновленная с помощью Vue, я набираю в консоли:
$('my-table').DataTable()
И работает нормально. Я не понимаю, потому что это точно так же, как указано выше, за исключением того, что я набираю его с консоли, верно?
Надеюсь, это достаточно ясно. Уже спасибо!