在官方文档中,看见一个很好玩的标签v-once
,总感觉实用场景不多,特此记录下。
可能是目前还未看出实际使用地方吧。
平时的使用中,通常进行数据的展示,会采取{{message}}
的样式,进行数据的动态刷新显示
。
如果只想页面加载时显示一次,后续不在因为数据信息的变动而变动时,就可以采取
v-once
实现。
有对比才有认知,先不采取v-once进行数据展示。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
{{message}}
</div>
</body>
<script src="../js/vues.js"></script>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
message:"66666"
}
})
setTimeout(function(){
//vm.$data.message = "999999";
vm.message = "888888";
},3000)
</script>
</html>
从案例中得知:
一般情况下,Vue实例构建后,会将数据放入message中进行页面渲染显示。
定时器到时间后,依旧能够将数据进行动态刷新。
此时对指定div
增加v-once
标签,效果如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app" v-once>
{{message}}
</div>
</body>
<script src="../js/vues.js"></script>
<script type="text/javascript">
var vm = new Vue({
el:"#app",
data:{
message:"66666"
}
})
setTimeout(function(){
//vm.$data.message = "999999";
vm.message = "888888";
},3000)
setTimeout(function(){
console.log("----->"+vm.message);
},5000)
</script>
</html>
不管等多久时间,数据变化后,不会再次刷新至页面进行显示。