{{message}} 语法只能在标签内容中使用
{{}}这种语法叫做插值表达式,在插值表达式中可以写任何合法的js表达式
使用插件表达式,存在内容闪烁问题,但是v-text没有闪烁问题
<div id="app">
<p>
{{message}}
</p>
<p v-text="message"></p>
</div>
<script src="./js/vue.js"></script>
<script>
let vm = new Vue({
el:"#app",
data:{
message:"hello vue"
}
})
</script>
在上面这段代码中,如果正常输出的话结果是一致的。
但是如果网速比较慢的话,插件表达式则会先在页面上输出
{{message}}
随后才会正常渲染页面,这样的效果对用户体验是不够好的。
<style>
[v-cloak]:{
display:none;
}
</style>
<div id="app">
<p v-cloak>
{{message}}
</p>
<p v-text="message"></p>
</div>
<script src="./js/vue.js"></script>
我们可以使用v-cloak属性在运行时让其隐藏,但因为在运行结束时vue会自动删除v-cloak属性
所以可以用这种方法来解决闪烁问题
插件表达式只会插入内容,不会覆盖原本的内容,而v-text会覆盖掉原先的内容
<div id="app">
<p>
----{{message}}----
</p>
// ----hello vue----
<p v-text="message">1234556</p>
// hello vue
</div>
<script src="./js/vue.js"></script>
<script>
let vm = new Vue({
el:"#app",
data:{
message:"hello vue"
}
})
</script>免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理