webveuje/vue/事件.md
2020-12-23 10:29:16 +08:00

1.6 KiB
Raw Blame History

vue 方法(事件处理)

事件监听

可以用v-on指令监听DOM事件并在触发时运行一些javascript v-on 简写为@

事件处理方法

  • 直接触发javascript代码(不推荐)

示例:

 <div id="app" >
        <button v-on:click="alert('hello!!!')">测试</button>
 </div>
  • 在内联javascript 语句中调用方法(不推荐)

    <div id="example-3">
      <button v-on:click="say()">Say hi</button>
    </div>
    
    new Vue({
      el: '#example-3',
      methods: {
        say: function () {
          alert('hi')
        }
      }
    })
    
  • 事件处理方法(推荐)

     <div id="app" >
            <button v-on:click="say">测试</button>
     </div>
    
    new Vue({
      el: '#example-3',
      methods: {
        say: function () {
          alert('hi')
        }
      }
    })
    

    methods中注册的是触发时执行的函数也叫方法

事件修饰符

  • .stop

    等同于JavaScript中的event.stopPropagation(),防止事件冒泡

  • .once

    只会触发一次

使用:

<a v-on:click.stop="doThis"></a>

可以同时使用多个修饰符

<a v-on:click.stop.once="doThat"></a>

按键修饰符(自行拓展)

监听键盘事件:

@keydown键盘按下时触发@keypress(键盘按住时触发)@keyup(键盘弹起)

获取按键的键码 e.keyCode
@keyup.delete    删除键

@keyup.enter 回车

@keyup.esc  ESC

@keyup.space 空格

@keyup.tab TAB

@keyup.left     左键

@keyup.right    右键

@keyup.up    上键

@keyup.down  下键