美文网首页
指令3——(v-on)

指令3——(v-on)

作者: 小丘啦啦啦 | 来源:发表于2019-02-27 16:42 被阅读0次

一、v-on
用来绑定事件,值识别为一个变量,与Vue对象的方法对应,可简写为(@)。
无传参的方法,默认了一个参数为event, 是原生 DOM 。
定义了自己参数的方法,还需要在内联语句处理器中访问原始的 DOM ,可以用特殊变量 $event 把它传入方法。

<html>

<head>
  <meta charset="utf-8">
  <title></title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
  <div id="app">
    <p>{{val}}</p>
    <!-- 绑定事件,指向Vue对象的方法 -->
    <input type="button" value="点击按钮" v-on:click="add">
    <!-- 事件后面也可直接更改Vue对象的数据属性 -->
    <input type="button" value="控制按钮" v-on:mouseover="mouseAdd('用鼠标增加',$event)">
  </div>

  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        val: 1
      },
      methods: { //methods属性中定义了当前Vue对象所有可用方法
        add: function (event) {
          /* this指向当前Vue对象的数据 */
          this.val++;
          if (event) {
            console.log(event.target.tagName);
          }
        },
        mouseAdd(msg,event){
          this.val++;
          if (event) {
            console.log(event.target.tagName);
            console.log(msg);
          }
        }
      }
    })
  </script>
</body>

</html>

二、跑马灯

<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
            <input type="button" value="动起来" @click="lang"/>
            <input type="button" value="停止" @click="stop"/>
        </div>

        <script>
            var vm = new Vue({
                el: '#app',
                data: {
                    msg:'猥琐发育,画画~',
                    intervalId:null
                },
                methods:{  
                    lang(){   //es6对象方法简写
                        if(this.intervalId!=null){   
                            //如果不为null,说明已经开启了定时器,避免重复开定时器
                            return;
                        }
                        this.intervalId = setInterval(()=>{   
                            //把定时器的id赋值给Vue对象的数据,为之后清除定时器准备
                            const start = this.msg.substring(0,1);   
                            //这里箭头函数this会指向此Vue对象
                            const end = this.msg.substring(1);
                            this.msg = end+start;
                            /* Vue实例会实时监听自己身上data数据的变化
                            只要有变就会自动把最新数据同步到页面(不需要考虑重新渲染dom) */
                        },400);
                    },
                    stop(){
                        clearInterval(this.intervalId);   //清除定时器
                        this.intervalId = null;   //定时器id重新赋值为null
                    }
                        
                }
            })
        </script>
    </body>
</html>

相关文章

  • 指令3——(v-on)

    一、v-on用来绑定事件,值识别为一个变量,与Vue对象的方法对应,可简写为(@)。无传参的方法,默认了一个参数为...

  • 11.Vue.js方法

    v-on指令事件 v-on:click(鼠标单击事件) v-on:dblclick(鼠标双击事件) v-on:fo...

  • 【Vue基础】二、Vue中的指令

    1. v-on指令 v-on指令将事件绑定在元素上,可以简写为@。 v-on绑定的事件可以调用methods中的方...

  • Vue作品考核回顾

    基本指令 插值语法 Mustache 语法 {{ }} v-on v-on 监听指令, 语法糖为@ 在调用方法时,...

  • 说说 Vue.js 中的 v-on 事件指令

    v-on 事件指令用于绑定事件。 1 基础用法 v-on 指令绑定事件后,就会监听相应的事件。 html: 注意:...

  • vue事件与表单处理

    事件处理 v-on指令 用于进行元素的事件绑定 Vue.js 还为 v-on 指令提供了简写方式@click 事件...

  • 【Vue】常用指令之v-on

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-on v-on指令是事件绑定指...

  • v-on指令

    Vue.js 基础学习 v-on 指令

  • v-on 指令

    v- 开头 1. v-on 两种修饰符 1)事件修饰符(4种)prevent,stop,capture,self ...

  • 指令

    一、事件监听:v-on指令 监听用户发生的事件,比如点击、拖拽、键盘事件等等,以便和用户交互。使用v-on指令 v...

网友评论

      本文标题:指令3——(v-on)

      本文链接:https://www.haomeiwen.com/subject/guvxuqtx.html