我对 vue.js 的目标是在确认提示出现之前更改 HTML。
索引.html
<div id='vueexample'>
<button @click="colorFunction()">Click me!</button>
<p v-if="userIsDeciding" style="background-color: yellow;">The user has to decide.</p>
</div>
<script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js'></script>
<script>
new Vue({
el: '#vueexample',
data: { userIsDeciding: false },
methods: {
colorFunction: function() {
this.userIsDeciding = true;
if(confirm("please confirm")){
//some stuff
}
this.userIsDeciding = false;
}
}
});
</script>
问题:p-tag 在确认提示之前不显示。
我的问题:如何使 p-tag 在确认提示之前显示?
如有任何帮助,我们将不胜感激❤️
解决方案
很多人以前都处理过这个问题,也许对此最相关的答案之一——这比
setTimeout(..., 0)
——是一个包。关于这里提到的软件包的使用已经收到了积极的反馈,所以我想我应该检查一下它是如何工作的。这很简单。
doubleRequestAnimationFrame()
方法-vue-force-next-tick\src\index.js
实际上,基本概念是将原生 JavaScript 函数 requestAnimationFrame() 嵌入到其自身中,在每种情况下它似乎总是等待渲染刷新。
函数的创建者命名为 this function
forceNextTick()
,可以在没有回调函数的情况下调用它。如果没有回调,它将调用
doubleRequestAnimationFrame()
作为new Promise
.尝试一下这个包,或者看看它所应用的解决方案的无包实现:
更多信息
window.requestAnimationFrame()
方法- MDN 文档您可以尝试使用setTimeout函数: