上QQ阅读APP看书,第一时间看更新
2.4 v-once指令
通常v-for后面需要接表达式,而v-once指令后面不需要跟任何表达式。v-once在日常开发中用得很多,该指令表示元素和组件只渲染一次,不会随着数据的改变而改变。
只渲染元素和组件一次,随后的渲染使用此指令的元素/组件及其所有的子节点,都会当作静态内容并跳过,这可以用于优化更新性能。
我们接下来看一个实例。
1)在data代码块中定义一个变量msg。
2)将变量msg双向绑定到input:
<input type="text" v-model = "msg" name="">
3)html视图中使用普通模式和v-once来显示变量的值,代码如下:
<p v-once>{{msg}}</p> <!--msg不会改变--> <p>{{msg}}</p>
4)当修改input框的值时,使用了v-once指令的p元素不会随之改变,而第二个p元素是可以随之改变的。
完整示例代码如下:
<div id="app"> <p v-once>{{msg}}</p> <!--msg不会改变--> <p>{{msg}}</p> <p> <input type="text" v-model = "msg" name=""> </p> </div> <script type="text/javascript"> let vm = new Vue({ el : '#app', data : { msg : "hello" } }); </script>