详解Vue方法与事件

一 vue方法实现

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Vue方法与事件</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
  </head>
  <body>
    <div id="test">
      <button @click="sayHi">点击我</button> <!--这里使用@-->
    </div>
    <script type="text/javascript">
      var myVue = new Vue({
        el: '#test',
        methods: {   //这里使用methods
          sayHi: function () {
            alert('我被点击了')
          }
        }
      })
    </script>
  </body>
</html>

二 方法传参

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Vue方法与事件</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
  </head>
  <body>
    <div id="test">
      <button @click="sayHi('你好')">说你好</button> <!--这里使用@-->
      <button @click="sayHi('我被点击了')">说我被点击了</button> <!--这里使用@-->
    </div>
    <script type="text/javascript">
      var myVue = new Vue({
        el: '#test',
        methods: {   //这里使用methods
          sayHi: function (message) {
            alert(message)
          }
        }
      })
    </script>
  </body>
</html>

三 vue访问原生 DOM 事件

注意用$event获取

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Vue方法与事件</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
  </head>
  <body>
    <div id="test">
      <button @click="changeColor('你好',$event)">点击我</button> <!--这里使用@-->
      <div style="height: 100px;width: 100px;background-color: red;" @mouseover="over('鼠标从我上面滑过',$event)">
        鼠标从我上面滑过试试
      </div>
    </div>
    <script type="text/javascript">
      var myVue = new Vue({
        el: '#test',
        methods: {   //这里使用methods
          changeColor: function (message, event) {
            alert(message+event);  //弹出我被点击了,事件是[object MouseEvent]
          },
          over :function (message, event) {
            alert(message+event);  //弹出鼠标从我上面滑过,事件是[object MouseEvent]
          }
        }
      })
    </script>
  </body>
</html>

四 事件修饰符

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Vue方法与事件</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
  </head>
  <body>
    <div id="test">
      <button @click.stop="sayHi('你好')">说你好</button> <!-- 阻止单击事件冒泡 -->
      <button @click.prevent="sayHi('你好')">说你好</button> <!-- 提交事件不再重载页面 -->
      <button @click.stop.prevent="sayHi('你好')">说你好</button> <!-- 阻止单击事件冒泡和提交事件不再重载页面 -->
      <button @click.capture="sayHi('你好')">说你好</button> <!-- 添加事件侦听器时使用 capture 模式 -->
      <button @click.self="sayHi('你好')">说你好</button>  <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->

      <div @keyup.13="sayHi('你好')">说你好</div> <!-- 只有在 keyCode 是 13 时调用 vm.submit() -->
    </div>
    <script type="text/javascript">
      var myVue = new Vue({
        el: '#test',
        methods: {   //这里使用methods
          sayHi: function (message) {
            alert(message)
          }
        }
      })
    </script>
  </body>
</html>

本文下载:vue-click_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • vue子组件使用自定义事件向父组件传递数据

    使用v-on绑定自定义事件可以让子组件向父组件传递数据,用到了this.$emit('自定义的事件名称',传递给父组件的数据) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../js/vue.js"></scr

  • Vue自定义事件(详解)

    前面的话 父组件使用props传递数据给子组件,子组件怎么跟父组件通信呢?这时,Vue的自定义事件就派上用场了.本文将详细介绍Vue自定义事件 事件绑定 每个 Vue 实例都实现了事件接口 (Events interface),即 使用 $on(eventName) 监听事件 使用 $emit(eventName) 触发事件 [注意]Vue 的事件系统分离自浏览器的EventTarget API.尽管它们的运行类似,但是 $on 和 $emit 不是addEventListener 和 disp

  • 详解Vue方法与事件

    一 vue方法实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue方法与事件</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-s

  • 详解Vue 方法与事件处理器

    方法与事件处理器 方法处理器 可以用 v-on 指令监听 DOM 事件: <div id="example"> <button v-on:click="greet">Greet</button> </div> 我们绑定了一个单击事件处理器到一个方法 greet.下面在 Vue 实例中定义这个方法: var vm = new Vue({ el: '#example', data: { name: 'Vue.js' },

  • 详解vue中v-on事件监听指令的基本用法

    一.本节说明 我们在开发过程中经常需要监听用户的输入,比如:用户的点击事件.拖拽事件.键盘事件等等.这就需要用到我们下面要学习的内容v-on指令. 我们通过一个简单的计数器的例子,来讲解v-on指令的使用. 二. 怎么做 定义数据counter,用于表示计数器数字,初始值设置为0 v-on:click 表示当发生点击事件的时候,触发等号里面的表达式或者函数 表达式counter++和counter--分别实现计数器数值的加1和减1操作 语法糖:我们可以将v-on:click简写为@click 三

  • 详解vue.js的事件处理器v-on:click

    用 v-on 指令监听 DOM 事件 注意:HTML5中不能使用v-on,换为@ (1)html代码: <div id="example"> <button v-on:click="greet">Greet</button> // 或者 <button @click="greet">Greet</button> </div> (2)js代码: var vm = new Vue

  • 详解Vue的键盘事件

    目录 常用按键别名 未提供别名的键 系统修饰键 自定义按键别名 总结 在js中我们要获取一个按键的编码通常需要通过(keydown/keyup)去绑定一个事件,再通过默认参数event中的keyCode属性去取得编码.如果我们要实现按固定的键才能触发事件时就需要在事件中进行不断的判断,这样会显的很麻烦,如 var input = document.querySelector('input') input.onkeyup = function (e) { if (e.keyCode == 13)

  • 详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法

    最近在项目中实现在循环出来的图片中当鼠标移入隐藏当前图片显示另一张图片的需求时碰到了一个小问题.就是当使用@mouseenter 和@mouseleave事件来实现这个需求时却发现鼠标移入后图片出现闪烁现象. 重点:事件写到父元素上才行!!! 0.0 下面写下我的实现方法和实现效果 样式代码: <div class="imgs" v-for="(item,index) in exampleUrl" :key = index @mouseenter ="

  • Vue方法与事件处理器详解

    本文实例为大家分享了Vue方法与事件处理器的使用,供大家参考,具体内容如下 按键修饰符 在监听键盘事件时,我们经常需要检测 keyCode.Vue.js 允许为 v-on 添加按键修饰符: <!-- 只有在 keyCode 是 13 时调用 vm.submit() --> <input v-on:keyup.13="submit"> 记住所有的 keyCode 比较困难,Vue.js 为最常用的按键提供别名: <!-- 同上 --> <inpu

  • 详解Vue中的MVVM原理和实现方法

    下面由我阿巴阿巴的详细走一遍Vue中MVVM原理的实现,这篇文章大家可以学习到: 1.Vue数据双向绑定核心代码模块以及实现原理 2.订阅者-发布者模式是如何做到让数据驱动视图.视图驱动数据再驱动视图 3.如何对元素节点上的指令进行解析并且关联订阅者实现视图更新 一.思路整理 实现的流程图: 我们要实现一个类MVVM简单版本的Vue框架,就需要实现一下几点: 1.实现一个数据监听Observer,对数据对象的所有属性进行监听,数据发生变化可以获取到最新值通知订阅者. 2.实现一个解析器Compi

  • 详解vue中在父组件点击按钮触发子组件的事件

    我把这个实例分为几个步骤解读: 1.父组件的button元素绑定click事件,该事件指向notify方法 2.给子组件注册一个ref="child" 3.父组件的notify的方法在处理时,使用了$refs.child把事件传递给子组件的parentMsg方法,同时携带着父组件中的参数msg  4.子组件接收到父组件的事件后,调用了parentMsg方法,把接收到的msg放到message数组中 父组件 <template> <div id="app&qu

  • 详解Vue开发网站seo优化方法

    因为用了vue等js的数据绑定机制来展示页面数据,爬虫获取到的html是模型页面而不是最终数据的渲染页面,搜索引擎是不回去执行请求到的js.vue的项目都是ajax请求数据,引擎爬虫进入页面获取不到文字内容,现在大多数解决方案是不采用ajax渲染数据,而是采用server端渲染,也就是所谓的SSR. 目前基于vue的方案是Nuxt.js,同类型的也有React版的Nuxt.js所以服务端渲染就是尽量在服务器发送到浏览器前,页面上是有数据可让爬虫进行爬取 方法一.利用prerender-spa-p

随机推荐