VUE:事件处理和表单输入绑定

事件处理

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>07_事件处理</title>
    </head>
    <body>
        <!--
            1.绑定监听:
                v-on:xxx="fun"
                @xxx="fun"
                @xxx="fun(参数)"
                默认事件形参:event
                隐含属性对象:$event
            2.事件修饰符
                .prevent:阻止事件的默认行为 event.preventDefault()
                .stop:停止事件冒泡 event.stopPropagation()
            3.按键修饰符
                .keycode:操作的是某个keycode值的键
                .enter:操作的是enter键
        -->
        <div id="example">
            <h2>1.绑定监听</h2>
            <button @click="test1">test1</button>
            <button @click="test2(‘taosir‘)">test2</button>
            <!-- 没有其他参数,$event不写也可以-->
            <button @click="test3($event)">test3</button>
            <button @click="test4(123,$event)">test4</button>

            <h2>2.事件修饰符</h2>
            <div style="width: 200px;height: 200px;background: red" @click="test5">
                <!-- @click.stop停止事件冒泡   -->
                <div style="width: 100px;height: 100px;background: blue;" @click.stop="test6"></div>
            </div>
            <a href="http://www.baidu.com" @click.prevent="test7">去百度</a>

            <h3>3.按键修饰符</h3>
            <input type="text" @keyup.13="test8" />
            <input type="text" @keyup.enter="test8" />
        </div>

        <script type="text/javascript" src="../js/vue.js" ></script>
        <script>
            new Vue({
                el:‘#example‘,
                data:{
                    test1(){
                        alert(‘test1‘)
                    },
                    test2(msg){
                        alert(‘test2:‘+msg)
                    },
                    test3(evnet){
                        alert(event.target.innerHTML)
                    },
                    test4(number,event){
                        alert(number+‘:‘+event.target.innerHTML)
                    },
                    test5(){
                        alert(‘out‘)
                    },
                    test6(){
                        //event.stopPropagation()
                        alert(‘inner‘)
                    },
                    test7(){
                        //event.preventDefault()
                        alert(‘test点击了‘)
                    },
                    test8(){
//                        if(event.keyCode===13){
//                            //通过event.keyCode查询keyCode
//                            alert(event.target.value+‘ ‘+event.keyCode)
//                        }
                        alert(event.target.value+‘ ‘+event.keyCode)
                    }
                }
            })
        </script>
    </body>
</html>

表单输入绑定

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>08_表单输入绑定</title>
    </head>
    <body>
        <!--
            1.使用v-model(双向数据绑定)自动手机数据
                text/textarea
                checkbox
                radio
                select
        -->
        <div id="demo">
            <form action="/xxx" @submit.prevent="handleSubmit">
                <span>用户名:</span>
                <input v-model="username"/><br />

                <span>密码:</span>
                <input type="password" v-model="pwd"/><br />

                <span>性别:</span>
                <input type="radio" id="female" value="女" v-model="sex"/>
                <label for="female">女</label>
                <input type="radio" id="male" value="男" v-model="sex"/>
                <label for="male">男</label><br />

                <span>爱好:</span>
                <input type="checkbox" id="basket" value="篮球" v-model="likes"/>
                <label for="basket">篮球</label>
                <input type="checkbox" id="foot" value="足球" v-model="likes" />
                <label for="foot">足球</label>
                <input type="checkbox" id="pingpang" value="乒乓" v-model="likes" />
                <label for="pingpang">乒乓</label><br />

                <span>城市:</span>
                <select v-model="cityId">
                    <option value="">未选择</option>
                    <option :value="city.id" v-for="(city,index) in allCitys">{{city.name}}</option>
                </select><br />

                <span>介绍</span>
                <textarea rows="10" v-model="desc"></textarea><br />

                <input type="submit" value="注册" />
            </form>
        </div>

        <script type="text/javascript" src="../js/vue.js" ></script>
        <script>
            new Vue({
                el:"#demo",
                data:{
                    username:‘‘,
                    pwd:‘‘,
                    sex:‘女‘,
                    likes:[‘足球‘],
                    allCitys:[{id:1,name:‘taosir‘},{id:2,name:‘moer‘},{id:3,name:‘vue‘}],
                    cityId:‘3‘,
                    desc:‘请输入描述‘
                },
                methods:{
                    handleSubmit(){
                        console.log(this.username,this.pwd,this.sex,this.likes,this.cityId,this.desc)
                    }
                }
            })
        </script>
    </body>
</html>

原文地址:https://www.cnblogs.com/it-taosir/p/9949940.html

时间: 2024-08-29 03:57:59

VUE:事件处理和表单输入绑定的相关文章

Vue.js 实战教程 V2.x(12)表单输入绑定

12表单输入绑定 12.1基础用法 你可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素. 文本 <input v-model="message" placeholder="edit me"> <p>Message is: {{ message }}</p> 多行文本 <spa

Vue基础篇--7表单输入绑定input

Vue基础篇--7表单输入绑定input 1.基础语法 你可以用 v-model 指令在表单 . 及 `元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但v-model` 本质上不过是语法糖.它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理. 注意: v-model 会忽略所有表单元素的 value.checked.selected 特性的初始值而总是将 Vue 实例的数据作为数据来源.你应该通过 JavaScript 在组件的 data

vue 之 表单输入绑定

vue的核心:声明式的指令和数据的双向绑定. 那么声明式的指令,已经给大家介绍完了.接下来我们来研究一下什么是数据的双向绑定? 另外,大家一定要知道vue的设计模式:MVVM M是Model的简写,V是View的简写,VM就是ViewModel. 单向绑定和双向绑定的区别? 单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新. 有单向绑定,就有双向绑定. 如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向

Vue表单输入绑定

基础用法 你可以用v-model指令在表单input,textarea以及select元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但是v-model本质上不过是语法糖.它负责监听用户的输入事件以更新数据. v-model会忽略所有表单元素的value, checked, selected特性的初始值而总是将Vue实例的数据作为数据来源.你应该通过JavaScript在组件的data选项中声明初始值. (1) 文本 <input v-model="me

vue之v-model表单输入双向绑定

vue的核心:声明式的指令和数据的双向绑定. 那么声明式的指令,已经给大家介绍完了.接下来我们来研究一下什么是数据的双向绑定? 另外,大家一定要知道vue的设计模式:MVVM M是Model的简写,V是View的简写,VM就是ViewModel. 单向绑定和双向绑定的区别: 单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新. 有单向绑定,就有双向绑定. 如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向

一起学Vue之表单输入绑定

在Vue进行前端开发中,表单的输入是基础且常见的功能,本文以一个简单的小例子,简述v-model数据绑定的用法,仅供学习分享使用,如有不足,还请指正. 基础用法 你可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但 v-model 本质上不过是语法糖.它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理.v-model 会忽

Vue知识整理13:表单输入绑定(v-model)

text:将输入框等表单,通过data变量实现数据绑定. textbox:数据绑定 3.checkbox和redio组件: 注意:data数据变量中,checkbox有可能会有多个结果,所以用数组: 4:可以通过设置提交按钮来实现数据的提交: 或是通过设置数组变量,一起收集所有控件上的内容. 原文地址:https://www.cnblogs.com/KKSoft/p/11715735.html

表单输入绑定

vue的核心:声明式的指令和数据的双向绑定. 那么声明式的指令,已经给大家介绍完了.接下来我们来研究一下什么是数据的双向绑定? 另外,大家一定要知道vue的设计模式:MVVM M是Model的简写,V是View的简写,VM就是ViewModel. 单向绑定和双向绑定的区别? 单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新. 有单向绑定,就有双向绑定. 如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向

vue的表单输入绑定

1.单行绑定 <p>{{logintype}}</p> <input type="text" v-model="logintype"> <!-- 单行绑定 --> 2.多行绑定 <textarea rows="10" cols="20" v-model="logintype"></textarea> <!-- 多行绑定 -->