• 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=" 200px;height: 200px;background: red" @click="test5">
                    <!-- @click.stop停止事件冒泡   -->
                    <div style=" 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>
  • 相关阅读:
    安装scrapy解决Microsoft Visual C++ 14.0 is required...
    django一对多模型以及如何在前端实现
    django实现分页功能
    django实现搜索功能
    pycharm里生成requirements.txt
    ubuntu中pwntools安装
    获取一个图片的颜色html代码
    对class文件进行反编译
    Django项目将debug模式设置为false时,静态文件出错
    Django中在xadmin中集成DjangoUeditor
  • 原文地址:https://www.cnblogs.com/it-taosir/p/9949940.html
Copyright © 2020-2023  润新知