一文聊聊Vue中的常用内置指令【大全】

本篇文章对Vue所有的内置指令进行回顾总结,前面先说明一些常用指令,不常用的放在后面。

一文聊聊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>

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: