• 事件处理


    1.v-on指令监听DOM事件,并在触发时运行一些JavaScript代码。

    <!DOCTYPE html>
    <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>学习example</title>
        <script src="../static/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
    <div id="app">
        <button v-on:click="counter+=1">{{counter}}</button>
    </div>
    
    <script type="text/javascript">
        var vm = new Vue({
            el: "#app",
            data: {
                counter: 0,
            },
        });
    </script>
    <style type="text/css">
    </style>
    </body>
    </html>
    

    2.事件处理方法

    许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在v-on指令中是不可行的。因此v-on还可以接收一个需要调用的方法名称。

    <!DOCTYPE html>
    <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>学习example</title>
        <script src="../static/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
    <div id="app">
        <button v-on:click="greet">greet</button>
    </div>
    
    <script type="text/javascript">
        var vm = new Vue({
            el: "#app",
            data: {
                name: "vue",
            },
            methods: {
                greet: function (even) {
                    //`this` 在方法里指向当前 Vue 实例
                    alert("hi " + this.name);
                    if (even) {
                        alert(even.target.tagName);
                    }
                }
            }
        });
    </script>
    <style type="text/css">
    </style>
    </body>
    </html>
    

     3.内联处理器中的方法

    <!DOCTYPE html>
    <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>学习example</title>
        <script src="../static/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
    <div id="app">
        <button v-on:click="say('hi')">say hi</button>
        <button v-on:click="say('what')">say what</button>
    </div>
    
    <script type="text/javascript">
        var vm = new Vue({
            el: "#app",
            methods: {
                say: function (str) {
                    alert(str);
                }
            }
        });
    </script>
    <style type="text/css">
    </style>
    </body>
    </html>
    

     4.在内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 $event 把它传入方法。

    <!DOCTYPE html>
    <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>学习example</title>
        <script src="../static/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
    <div id="app">
        <button v-on:click="say('hello',$event)">say hello</button>
    </div>
    
    <script type="text/javascript">
        var vm = new Vue({
            el: "#app",
            methods: {
                say: function (str, e) {
                    alert(str);
                    alert(e);
                    console.log(e);
                }
            }
        });
    </script>
    <style type="text/css">
    </style>
    </body>
    </html>
    
  • 相关阅读:
    jquery的文档操作
    Websocket简介
    第二次作业
    第一次作业
    本地存储
    轮播图制作
    BOM
    小案例总结
    Web API——DOM
    Web APIs(DOM、BOM)综述
  • 原文地址:https://www.cnblogs.com/xidian2014/p/13408405.html
Copyright © 2020-2023  润新知