【发布时间】:2019-02-09 01:36:13
【问题描述】:
在 Vue js 函数执行期间,加载元素上的简单显示和隐藏失败。
我有一个 vue js 函数,它会做一些事情并在完成后更新数据。我正在尝试在此过程中显示加载动画。为了本次讨论的目的,我已将过程简化为一个简单的循环,以消除所有其他问题(即 ajax、异步等)。
我的按钮 HTMl 如下所示:
<button type="button" v-on:click="DoStuff()">Do Stuff</button>
我的 vue js 代码是这样的:
var client = new Vue({
el: '#client',
data: {
someData: []
},
methods: {
DoStuff: function() {
//Show Loader
$(".loader").show();
//Waste 5 seconds
for (var i = 0; i < 100000000; i++) {
var x = i;
}
//Hide loader
$(".loader").hide();
// let me know it's done.
alert('cool');
}
加载程序从不显示。如果我注释掉隐藏命令,加载程序会在警报之后显示。让我觉得某种异步操作正在幕后进行,但我没有做异步的事情。
【问题讨论】:
-
帮助解释当前问题的一些东西:在你的函数完成之前不会渲染 DOM。你可以在这里阅读更多:stackoverflow.com/questions/30188845/…
标签: javascript vue.js loading