Я пытаюсь скрыть содержимое шаблона vue.js до его полной визуализации. Рассмотрим следующий шаблон:
<div class="loader">
<table class="hidden">
<tr v-for="log in logs">
<td>{{log.timestamp}}</td>
<td>{{log.event}}</td>
</tr>
</table>
</div>
Когда я отрисовываю этот шаблон на сервере, пользователь видит содержимое элемента <tr>
до его отрисовки. По этой причине я использую класс hidden
чтобы скрыть его, прежде чем он будет полностью отрендерен.
Также перед тем, как он будет отрендерен, я показываю элемент загрузчика с анимированным индикатором выполнения.
Как только он рендерится, я просто вызову element.show()
в jQuery и также element.show()
выполнения. Мой вопрос: можно ли смешивать jQuery и vue.js для достижения этой цели?
var vueLogs = new Vue({
el: "#checkInLogsHolder",
data: {logs: []}
});
var holder = $("#checkInLogsHolder");
function response(payload) {
// hiding the loader animation
holder.find(".loader").remove();
// showing the rendered table
holder.find("table").show();
vueLogs.logs.unshift(payload);
}
Есть ли лучший способ сделать это?