模板语法
{{ msg }}
指令
VUE自带13种指令
1. v-html2. v-text3. v-bind4. v-show5. v-if6. v-else7. v-else-if8. v-model9. v-for10. v-on11. v-pre12. v-cloak13. v-once
自定义指令
留神:自定义指令中的this指向都是window
一个指令定义对象能够提供如下几个钩子函数 (均为可选):
- bind:只调用一次,指令第一次绑定到元素时调用。在这里能够进行一次性的初始化设置。
- inserted:被绑定元素插入父节点时调用 (仅保障父节点存在,但不肯定已被插入文档中)。
- update:所在组件的 VNode 更新时调用,然而可能产生在其子 VNode 更新之前。指令的值可能产生了扭转,也可能没有。然而你能够通过比拟更新前后的值来疏忽不必要的模板更新
// 自定义获取焦点指令Vue.directive('focus',{ inserted: function(el){ // el代表绑定的元素 el.focus(); }})// 应用自定义的指令<input type="text" v-focus>// 自定义带参数的自定义指令Vue.directive('color',{ bind: function(el,bingding){ // bingding代表绑定的值 el.focus(); }})// 应用带参数的自定义的指令<input type="text" v-color="{color:yellow}">// 自定义部分指令,须要在VUE实例中增加一个directivesdirectives: { focus: { // 指令的定义 inserted: function (el) { el.focus() } }, color: { bind: function(el,bingding){ el.style.backgroundColor = binding.value.color; } }}
文本
1. v-text2. v-html3. {{}}
属性 v-bind
列子:v-bind:class简写::class
款式绑定
对象模式设置
<div :class="{bgc: isActive}"></div>
数组模式设置
<div :class="[bgcClass,colorClass]"></div> // 数组外面的值须要在data外面定义代表的class款式
混合模式
<div :class="[bgcClass,colorClass,{bgc: isActive}]"></div>
v-if和v-show
- 伎俩:v-if是通过管制dom节点的存在与否来管制元素的显隐;v-show是通过设置DOM元素的display款式,block为显示,none为暗藏;
- 编译过程:v-if切换有一个部分编译/卸载的过程,切换过程中适合地销毁和重建外部的事件监听和子组件;v-show只是简略的基于css切换;
- 编译条件:v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始部分编译(编译被缓存?编译被缓存后,而后再切换的时候进行部分卸载); v-show是在任何条件下(首次条件是否为真)都被编译,而后被缓存,而且DOM元素保留;
- 性能耗费:v-if有更高的切换耗费;v-show有更高的初始渲染耗费;
- 基于以上区别,因而,如果须要十分频繁地切换,则应用 v-show 较好;如果在运行时条件很少扭转,则应用 v-if 较好。
表单
v-model
表单修饰符
v-model:number // 转化为数字v-model:trim // 去除前后空格v-model:lazy // 将input事件转换成change事件
循环 v-for
<li v-for="{item in arr}">{{ item }}</li><li v-for="{(item,index) in arr}">{{ index }} --- {{ item }}</li><li v-for="{(item,index) in arr}" :key="item.id">{{ index }} --- {{ item }}</li> // key是为了帮忙VUE进步性能的
事件绑定
写法
根本写法:v-on:click
简写:@click
事件修饰符
Vue.js 通过由点 . 示意的指令后缀来调用修饰符,能够多个修饰符串联一块写
模式:事件.修饰符名称
例子: @click.stop
1. stop // 阻止冒泡2. prevent // 阻止默认行为3. capture // 阻止捕捉4. self // 只监听触发该元素的事件5. once // 只触发一次6. left // 左键触发7. right // 右键触发8. middle // 两头滚轮触发
按键修饰符
Vue 容许为 v-on 在监听键盘事件时增加按键修饰符
例子:
<input v-on:keyup.13="submit"><input @keyup.enter="submit">
记住所有的 keyCode 比拟艰难,所以 Vue 为最罕用的按键提供了别名:
1. enter2. tab3. delete (捕捉 "删除" 和 "退格" 键)4. esc5. space6. up7. down8. left9. right10. ctrl11. alt12. shift13. meta
自定义按键修饰符:
Vue.config.keyCodes.f1 = 112