zoukankan      html  css  js  c++  java
  • vue-cli学习笔记-常用属性与方法

    事件绑定监听

    事件通常以v-on开头
    例如 v-on:xxx="func" v-on:click="function" 鼠标点击事件
    可以简写为 @click="function"
    也可以携带参数:例如 @click="function(test)"

    默认事件形参: event 隐含属性对象:
    $event 在原生事件中,
    $event是事件对象 在自定义事件中,
    $event是传递过来的数据

    在这里插入图片描述

    <template>
            <div>
                <button @click="clickBtn($event)">点击</button>
            </div>
    </template>
    
    <script>
        export default {
            name: "DealEvent",
            methods:{
                clickBtn(event){
                    alert(event)
                }
            }
        }
    </script>
    
    <style scoped>
    
    </style>
    

    事件修饰符

    在这里插入图片描述

    1. .prevent
      阻止事件的默认行为 event.preventDefault()
    2. .stop
      停止事件冒泡 event.stopPropagation()

    具体的可以参考官方文档

    示例:

    1. .prevent
      在这里插入图片描述
      在这里插入图片描述
    2. .stop
      沒有添加.stop之前 父div和子div都有click事件
      当点击父级div的时候 子级不会触发,当点击子级click事件的时候 父级或被触发(事件冒泡)
      在这里插入图片描述
      在这里插入图片描述
      在子级加上@click.stop后 父级就不会被触发了
      在这里插入图片描述

    按键修饰符

    1. .keycode : 操作的是某个keycode值的健
    2. .enter : 操作的是enter键
    3. .tab
    4. .delete (捕获“删除”和“退格”键)
    5. .esc
    6. .space
    7. .up
    8. .down
    9. .left
    10. .right
      详见官方文档

    示例:
    键盘事件:回车
    在这里插入图片描述
    在这里插入图片描述
    获取keycode 回车的keycode是 13
    在这里插入图片描述
    在这里插入图片描述

    金钱过滤案例

    1. 局部过滤
      在这里插入图片描述

    在这里插入图片描述

    <template>
        <div>
            <h3>格式化人民币</h3>
            <p>{{money| moneyFormat}}</p>
            <p>{{price| moneyFormat}}</p>
        </div>
    </template>
    
    <script>
        export default {
            name: "money",
            data(){
                return{
                    money:22222,
                    price:189.121
                }
            },
            filters:{//局部过滤
                moneyFormat(value){//过滤金钱
                     return '¥'+Number(value).toFixed(2) //过滤保留两位小数   toFixed()
                }
            }
        }
    </script>
    
    1. 全局过滤
      在main.js配置
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    时间格式化案例

    1. 引入第三方插件
      cmd命令行:npm i moment --save
      在这里插入图片描述
      在这里插入图片描述
      模板
      在这里插入图片描述
      在这里插入图片描述

    格式化日期:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    拓展:
    每隔一秒刷新日期
    在这里插入图片描述

    过度与动画

    在这里插入图片描述
    在这里插入图片描述

    1. 过渡
      示例:

    在这里插入图片描述

    <template>
        <div>
            <button @click="show=!show">切换</button>
            <transition name="fade">
            <div class="box" v-if="show">过渡动画</div>
            </transition>
        </div>
    </template>
    
    <script>
        export default {
            name: "TrancesitionAnimate",
            data(){
                return{
                    show:false
                }
            }
        }
    </script>
    
    <style scoped>
        .box{
             200px;
            height: 200px;
            background-color: #8bee54;
        }
        .fade-enter, .fade-leave-to{/*v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。*/
            opacity: 0;
            transform: translateX(200px);
        }
        /*v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,
        在元素被插入之前生效,在过渡/动画完成之后移除。
        这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。*/
        /*
        v-leave-active:定义离开过渡生效时的状态。
        在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,
        在过渡/动画完成之后移除。
        这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。*/
        .fade-enter-active, .fade-leave-active{
            transition: all 2s;
        }
    </style>
    
    1. 动画
      在这里插入图片描述
    <template>
        <div>
            <button @click="flag=!flag">图片跳动</button>
            <p></p>
            <transition name="bounce">
                <img :src="pic" alt="" width="300" v-if="flag">
            </transition>
        </div>
    </template>
    
    <script>
        import pic from '@/assets/24.png' //动态引入图片
        export default {
            name: "TrancesitionAnimate2",
            data(){
                return{
                    pic:pic,
                    flag:true
                }
            }
    
        }
    </script>
    
    <style scoped>
        .bounce-enter-active{
            animation: brunce 1.5s;
        }
        .bounce-leave-active{
            animation: brunce 1.5s reverse;
        }
        @keyframes brunce {
            0%{
                transform: scale(0);
            }
            25%{
                transform: scale(0.2);
            }
            50%{
                transform: scale(0.5);
            }
            75%{
                transform: scale(0.7);
            }
            100%{
                transform: scale(1);
            }
        }
    </style>
    
    1. 集成animate.css第三方动画
      cmd命令:npm install animate.css --save
      在这里插入图片描述
      或者用cdn引入
      在这里插入图片描述
      在这里插入图片描述
    <template>
    
        <div>
            <link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
            <button @click="flag=!flag">图片跳动</button>
            <p></p>
            <transition
                    name="custom-classes-transition"
                    enter-active-class="animated tada"
                    leave-active-class="animated bounceOutRight"
            >
                <img :src="pic" alt="" width="300" v-if="flag">
            </transition>
        </div>
    </template>
    
    <script>
    
        import pic from '@/assets/24.png' //动态引入图片
        //import animate from 'animate.css'
        export default {
            name: "TrancesitionAnimate3",
            data(){
                return{
                    pic:pic,
                    flag:true
                }
            }
    
        }
    </script>
    
    <style scoped>
    
    
    </style>
    

    在这里插入图片描述

    animate github地址:链接

    生命周期

    图例:
    在这里插入图片描述
    2. 钩子函数

    1. 初始化显示 只会调用一次
      beforeCreate()
      created()
      beforeMount()
      mounted()
      2. 更新状态 调用多次
      beforeUpdate()
      updated()
      3. 销毁 vue 实例 只会调用一次
      beforeDestory()
      destoryed()

    2. 常用的生命周期方法

      1. created()/mounted()
        发送ajax请求,启动定时器等异步任务
      2. beforeDestory()
        收尾操作,比如: 清除定时器、数据缓存
        在这里插入图片描述
        在这里插入图片描述
  • 相关阅读:
    注册和登录与数据库内的链接
    数据访问
    马厩分配问题
    Codeforces Round #365 (Div. 2) D.Mishka and Interesting sum
    最优比例生成树模板
    01分数规划模板
    hiho一下第109周《Tower Defense Game》
    begin.BZOJ 1383: 三取方格数
    最小生成树
    Codeforces Round #364 (Div. 1)B. Connecting Universities
  • 原文地址:https://www.cnblogs.com/joker-dj/p/12781361.html
Copyright © 2011-2022 走看看