我正试图掩盖真相.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
将其隐藏.
同样在渲染之前,我展示了一个带有一些动画进度条的加载器元素.
渲染完成后,我只需在jQuery中调用element.show()
并隐藏progressbar.我的问题是:混合使用jQuery和vue可以吗.要做到这一点?
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);
}
有更好的方法吗?