Vue.js入门与商城开发实战
上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>