Vue events

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="app">
   <button v-on:click="increase">Click me</button>
   <p>{{counter}}</p>
</div>

example 1

new Vue({
  el: '#app',
  data: {
    counter: 0
    },
  methods: {
    increase: function() {
        this.counter++
    }
  }
});

这里我们给button增加了一个v-on directive,后面跟的参数click代表一个事件,可以是任何和按钮有关的事件,等号右侧的值是事件发生后要调用的函数。

example 2

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="app">
   <button v-on:click="increase">Click me</button>
   <p>{{counter}}</p>
   <p v-on:mousemove="updateCoordinate">Coordinates: {{X}}/{{Y}}</p>
</div>
new Vue({
  el: '#app',
  data: {
    counter: 0,
    X: 0,
    Y: 0
    },
  methods: {
    increase: function() {
        this.counter++
    },
    updateCoordinate: function() {
        this.X = event.clientX;
      this.Y = event.clientY;
    }
  }
});

这里我们可以发现,mousemove这个event还自动的在调用的函数里加入event参数,里面包含光标的坐标信息。

example 3

那如果想给这些事件的响应函数里传入自定义的参数呢?

<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="app">
   <button v-on:click="increase(2, $event)">Click me</button>
   <p>{{counter}}</p>
   <p v-on:mousemove="updateCoordinate">Coordinates: {{X}}/{{Y}}</p>
</div>
new Vue({
  el: '#app',
  data: {
    counter: 0,
    X: 0,
    Y: 0
    },
  methods: {
    increase: function(step, event) {
        this.counter = this.counter+2
    },
    updateCoordinate: function(event) {
        this.X = event.clientX;
      this.Y = event.clientY;
    }
  }
});
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,082评论 0 29
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,379评论 0 2
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,416评论 0 6
  • <!doctype html> 事件是 Web 应用中不可或缺的一个东西,用户在应用中执行一个操作的时候,比如鼠标...
    JS大神阅读 353评论 0 0
  • “这都春天了还特么这么冷”我搓了搓手,拿起手机看了下时间:凌晨十二点半,离上车还有一段时间。环顾一下四周,在这个废...
    不要理会他阅读 367评论 1 2