模版
模版语法
<div id="app">
<!-- 这里就会展示data.msg的内容 加载的时候会出现闪烁问题(v-cloak能够解决) -->
<div>{{msg}}</div>
<!--元素中间的内容不展示 没有数据加载闪烁问题-->
<div v-text="msg">这里将会被覆盖掉</div>
<!--可以进行简单的计算-->
<div v-text="msg+msg"></div>
<!-- HTML 插值 将rawHtml插入到div的子元素 容易导致 XSS 攻击绝不要对用户提供的内容使用插值-->
<div v-html="rawHtml"></div>
<!-- v-html 和 v-text 谁在后面将会展示谁的指令内容 -->
<div v-html="rawHtml" v-text="msg">这里将会展示msg的内容</div>
<!-- 使用 JavaScript 表达式 -->
<div>{{ number + 1 }}</div>
<div>{{ ok ? 'YES' : 'NO' }}</div>
<div>{{ msg.split('').reverse().join('') }}</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
msg: 'message',
ok: true
rawHtml: '<h1>hello world<h1>',
},
});
</script>指令
v-bind
与v-text和v-html不同它俩是针对标签中的内容,v-bind 是针对标签中的属性
v-on
用于监听 DOM 事件
事件修饰符
事件修饰符可以解决到点击事件自身带的一些事件效果
.stop阻止事件冒泡.prevent阻止默认事件.capture添加事件侦听器时使用事件捕获模式.self事件只作用本身,如阻止自己身上冒泡行为.once事件只触发一次.left只当点击鼠标左键时触发。.right只当点击鼠标右键时触发。.middle只当点击鼠标中键时触发。.passivepassive表示listener{ passive: true }永远不会调用preventDefault()`,能够改善滚动性能
按键修饰符
v-text
类型:string
v-html
类型:string
v-show
类型:boolean
v-if
类型:boolean
v-for
类型:Array | Object | number | string | Iterable (2.6 新增)
v-model
用户表单元素的双向绑定
修饰符
.lazy失去焦点同步一次,相当于change 事件之后进行同步.number输入字符串转为有效的数字.trim去除首尾空格
原理
v-model 在内部为不同的输入元素使用不同的 property 并抛出不同的事件:
text 和 textarea 元素使用
valueproperty 和input事件;checkbox 和 radio 使用
checkedproperty 和change事件;select 字段将
value作为 prop 并将change作为事件。
v-pre
v-cloak
Class与Style样式绑定
对象语法
数组语法
Last updated