场景介绍:页面加载数据时,原始代码{{}}闪现。
问题代码
<div class="root">
<ul v-for="user in userProfile">
<li>{{user.username}}</li>
<li>{{user.email}}</li>
<li>{{user.last_time}}</li>
</ul>
</div>
<script>
axios.get("http://127.0.0.1:8000/users/?format=json").then(function (response) {
var v = new Vue({
el:".root",
data:{
userProfile:response.data
},
}) ;
});
</script>
解决:
1. 加入css代码
<style>
[v-cloak] {
display: none;
}
</style>
2.view中引用css
<div class="root">
<ul v-for="user in userProfile" v-cloak> #这里
<li>{{user.username}}</li>
<li>{{user.email}}</li>
<li>{{user.last_time}}</li>
</ul>
</div>
<script>
axios.get("http://127.0.0.1:8000/users/?format=json").then(function (response) {
var v = new Vue({
el:".root",
data:{
userProfile:response.data
},
}) ;
});
</script>
达到效果,在数据为加载完成前,隐藏原始代码。