本篇文章对Vue所有的内置指令进行回顾总结,前面先说明一些常用指令,不常用的放在后面。
前端(vue)入门到精通课程:进入学习
0. 插值表达式
说明:插值表达式也叫Mustache语法(即双大括号),双大括号标签会被替换为相应组件实例中 msg
属性的值。同时每次 msg
属性更改时它也会同步更新。【相关推荐:vuejs视频教程】
<template id="my-app"> <!-- 1.mustache的基本使用 --> <h2>{{message}} - {{message}}</h2> <!-- 2.是一个表达式 --> <h2>{{counter * 10}}</h2> <h2>{{ message.split(" ").reverse().join(" ") }}</h2> <!-- 3.也可以调用函数 --> <!-- 可以使用computed(计算属性) --> <h2>{{getReverseMessage()}}</h2> <!-- 4.三元运算符 --> <h2>{{ isShow ? "哈哈哈": "" }}</h2> <button @click="toggle">切换</button> <!-- 错误用法 --> <!-- var name = "abc" -> 赋值语句 --> <!-- <h2>{{var name = "abc"}}</h2> <h2>{{ if(isShow) { return "哈哈哈" } }}</h2> --> </template>
1. v-on
说明: 给元素绑定事件监听器。
缩写:@
参数: event
(使用对象语法则为可选项)
修饰符:
.stop
——调用event.stopPropagation()
。.prevent
——调用event.preventDefault()
。.capture
——在捕获模式添加事件监听器。.self
——只有事件从元素本身发出才触发处理函数。.{keyAlias}
——只在某些按键下触发处理函数。.once
——最多触发一次处理函数。.left
——只在鼠标左键事件触发处理函数。.right
——只在鼠标右键事件触发处理函数。.middle
——只在鼠标中键事件触发处理函数。.passive
——通过{ passive: true }
附加一个 DOM 事件。
详细描述:事件类型由参数来指定。表达式可以是一个方法名,一个内联声明,如果有修饰符则可省略。
- 当用于普通元素,只监听原生 DOM 事件。当用于自定义元素组件,则监听子组件触发的自定义事件。
- 当监听原生 DOM 事件时,方法接收原生事件作为唯一参数。如果使用内联声明,声明可以访问一个特殊的
$event
变量:v-on:click="handle('ok', $event)"
。 v-on
还支持绑定不带参数的事件/监听器对的对象。请注意,当使用对象语法时,不支持任何修饰符。
<!-- 方法处理函数 --> <button v-on:click="doThis"></button><!-- 动态事件 --> <button v-on:[event]="doThis"></button><!-- 内联声明 --> <button v-on:click="doThat('hello', $event)"></button><!-- 缩写 --> <button @click="doThis"></button><!-- 使用缩写的动态事件 --> <button @[event]="doThis"></button><!-- 停止传播 --> <button @click.stop="doThis"></button><!-- 阻止默认事件 --> <button @click.prevent="doThis"></button><!-- 不带表达式地阻止默认事件 --> <form @submit.prevent></form><!-- 链式调用修饰符 --> <button @click.stop.prevent="doThis"></button><!-- 按键用于 keyAlias 修饰符--> <input @keyup.enter="onEnter" /><!-- 点击事件将最多触发一次 --> <button v-on:click.once="doThis"></button><!-- 对象语法 --> <button v-on="{ mousedown: doThis, mouseup: doThat }"></button>