博主网站(未完善)
博主首页

目录

01图标库
02插件安装

01条件渲染
02列表渲染
03模板渲染
04计算属性
05侦听器
06样式绑定
07样式
08事件
09表单输入绑定
10生命周期
11组件
12脚手架
13vue-router
14vuex
15拖拽
16组件间传递

01HTML元素
02CSS样式

01filter、find……
02匿名函数……
03动态拼接地址
04vh、vm
05vue中ref
06js类型判断
07插槽
08富文本编辑器
09javaScript
10watch监听
11依赖注入
12ES6运算符
13flex-direction
14本地存储
15随机颜色
16中间延申
17多次触发问题
18nvm安装
19表单数据动态
20持久化存储
21$nextTick
22::v-deep
23tab失灵
25封装表单验证
26电梯导航栏
27页面滚动渐入动画

css3基础01

01bs列表
02bs栅格
03bs表单
更新中......

vue基础---08事件

00.表达式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="app">
        <h1>{{count}}</h1>
        通过表达式完成事件操作</br>
        <button @click="count++">点击</button></br>
        通过事件对象</br>
        <button @click="clickEvent">点击1</button>

    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:"#app",
            data:{
                count:0
            },
            methods:{
                clickEvent:function(event){
                    this.count++;
                }
            }
        })
    </script>
</body>
</html>

01.事件传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="app">
        <ul>
            事件传参,下面的参数与methods中的参数对应,注意:传事件对象是$event格式
            <li v-for="item,index in name" @click="clickEvent(item,index,$event)">
                索引值:{{index}}-----姓名:{{item}}
            </li>
        </ul>
    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:"#app",
            data:{
                name:['蔡徐坤','范冰冰','李晨']
            },
            methods:{
                clickEvent:function(item,index,event){
                    alert(index);
                    alert(item);
                    alert(event);
                }
            }
        })
    </script>
</body>
</html>

02.修饰符

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    
    <div id="app">
        .stop:阻止冒泡事件向上继续传播
        <div class="btnParent" @click=" clickParent">
            <!-- 如果去掉.stop,就会产生冒泡,触发两次 -->
            <button @click.stop="clickEvent">按钮</button>
        </div>



        .prevent:阻止默认事件
        <!-- 下面代码在没有添加阻止事件前,会发生默认行为(请求服务器失败的代码) -->
        <form action="" method="post">
            <input type="text" name="username" id="" value="">
            <input @click.prevent="searchWeather" type="submit" value="提交">
        </form>




        .once:只触发一次
        <button @click.once="onceEvent">按钮</button>
    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:"#app",
            data:{

            },
            methods:{
                clickEvent:function(event){
                    console.log('clickEvent');
                },
                clickParent:function(){
                    console.log("clickParent");
                },
                searchWeather:function(){
                    console.log("阻止默认事件");
                },
                onceEvent:function(){
                    console.log("只触发一次");
                }
            }
        })
    </script>
</body>
</html>

03.自定义按键码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    自定义按键码

    <div id="app">
        <form action="">

            <!-- 只有按回车见才会触发(闪一下) -->
            <input type="text" @keydown.f1="searchWeather" name="username" value="" >
        </form>
    </div>
    <script type="text/javascript">
    // 配置自定义修饰符f1
    Vue.config.keyCodes.f1 = 112
        var app=new Vue({
            el:"#app",
            data:{

            },
            methods:{
                searchWeather:function(){
                    console.log("查询天气");
                }
            }
        })
    </script>
</body>
</html>

 

posted @ 2021-09-10 11:56  !ment  阅读(56)  评论(0编辑  收藏  举报