Vue内置指令
1.v-bind
:
单向绑定解析表达式,可简写为:xxX,响应并更新Dom特性(只读不写)
2.v-model:数据双向绑定,用于表单输入内容等(可读可写)
3.v-on : 绑定事件监听,可简写为@,如v-on:click
4.v-for : 遍历数组/对象/如符串,例<div v-for=”(item,index) in index”></div>
5.v-if: 条件渲染(动态控制节点是否存存在)
6.v-else-if : 条件渲染,必须与if连用,多层级判断(动态控制节点是否存存在)
7.v-else : 条件渲染,必须与if连用(动态控制节点是否存存在)
8.v-show : 条件渲染(动态控制节点是否展示 添加style属性)
9.v-text,作用:向其所在的节点中渲染文本内容,
与差值语法的区别:v-text会替换节点中的内容,{
{xx}}不会,如<div v-text=”str”></div>
获取的内容是:<h2>你好</h2>
<!-- v-text指令 -->
<div id="app">
<div>你好,{{name}}</div>
<div v-text="name"></div>
<div v-text="str"></div>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
Vue.config.productionTip = false
new Vue({
el:'#app',
data:{
name:'张三',
str:'<h2>你好</h2>'
}
})
</script>
10.v-html: 作用:向指定节点中渲染包含html结构的内容。
与插值语法的区别:
(1).v-html会替换掉节点中所有的内容,{
{xx}}则不会。
(2).v-html可以识别htm1结构。
严重注意: v-html有安全性问题!!!!
(1).在网站上动态渲染任意HTML是非常危险的,容易导致XSS攻击。
(2).一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!
获取的内容是:
你好
<!-- v-html指令 -->
<div id="app">
<div>你好,{{ name }}</div>
<div v-html="str"></div>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
Vue.config.productionTip = false
new Vue({
el:'#app',
data:{
name:'张三',
str:'<h2>你好</h2>'
}
})
</script>
11. v-cloak(没有值):
其本质是一个特殊属性,Vue实例创建完毕接管容器后,会删掉v-cloak属性。
需使用css配合v-cloak可以解决网速慢时页面展示出{
{xxx}}的问题。
<style>
[v-cloak]{
display: node;
}
</style>
<!-- v-cloak指令 -->
<div><h2 v-cloak>{{name}}</h2></div>
12.v-once:只渲染一次,在节点在初次动态渲染后元素就被当成静态内容不再渲染了,可以用 于优化性能。
13.v-pre:跳过这个元素的编译过程,没有使用指令语法、没有使用插值语法的节点,会加快编译