常用指令列表
- v-model
- v-if
- v-else
- v-show
- v-for
- v-bind —— 可简写为 :class=”qq”
- v-on —— 可简写为:@click=”qq”
- v-text & v-html
- v-pre & v-cloak
- v-once
v-model 双向绑定
1 | <input type="text" v-model="message" /> |
v-if 条件渲染,根据表达式的真假来删除和插入元素
1 | <div v-if="true">当表达式为true,插入该条数据</div> |
1 | <div> |
v-if 和v-show的区别:
v-if: 判断是否加载,可以减轻服务器的压力,在需要时加载。
v-show:调整css dispaly属性,可以使客户端操作更加流畅。v-else 紧跟着v-if,添加一个else块,否则将不会被识别
v-show 条件渲染,元素会始终渲染到HTML
1 | <div v-show="true">当表达式为true,显示该条数据</div> |
v-for指令基于一个数组渲染一个列表
1 | <table> |
v-bind指令,带一个参数,参数通常是HTML元素的特性
1 | <div v-bind:class="active"></div> |
v-on指令用于监听DOM事件
1 | <a v-on:click=""doSet></a> |
v-text & v-html
我们已经用的是,这种情况是有弊端的,就是当我们网速很慢或者javascript出错时,会暴露我们的。Vue给我们提供的v-text,就是解决这个问题的。我们来看代码:
<span></span>=<span v-text="message"></span><br/>
如果在javascript中写有html标签,用v-text是输出不出来的,这时候我们就需要用v-html标签了。
<span v-html="msgHtml"></span>
双大括号会将数据解释为纯文本,而非HTML。为了输出真正的HTML,你就需要使用v-html 指令。
v-pre & v-clak
在模板中跳过vue的编译,直接输出原始值。就是在标签中加入v-pre就不会输出vue中的data值了。
<div v-pre></div>
v-cloak:在vue渲染完指定的整个DOM后才进行显示。它必须和CSS样式一起使用
1 | [v-cloak] { |
1 | <div v-cloak> |
v-once指令
在第一次DOM时进行渲染,渲染完成后视为静态内容,跳出以后的渲染过程。
1 | <div v-once>第一次绑定的值:{{message}}</div> |