Have you ever worked on a VueJS projectonly to see that all components initially flash when the page loads? Every rookie in the VueJS world has seen this problem and I did too when I started, so I decided to put together this short how-to in order to help others having the same problem. The key to hiding all vue elements before compilation is using the so-called “v-cloak” directive. Example:
<div id="app"> <div v-cloak> Hello {{ name }} </div> </div> <script> var example = new Vue({ el: '#app', data: { name: 'Annoying Message' } }) </script> <style> [v-cloak] { display: none; } </style>
Now without the v-cloak the “Hello {{ name }}” will flash before vue compilation and then render properly. There are plenty of reasons for that to happen one being latency and another being browsers are sometimes slow. With “v-cloak”, however the contents will remain hidden hidden until the compilation is finished and then rendered properly, the user will never know something different then normal site rendering happened.
Thanks a lot ! that was, what i was searching for :)=