vue示例之transition-另外发现一个vue(可能的)小bug

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="//cdn.bootcss.com/animate.css/3.5.2/animate.css" rel="stylesheet">
    <style>
        /* .hide-leave-active,.hide-enter-active{
             transition: opacity .5s
         }
         .hide-leave-to,.hide-enter{
             opacity: 0
         }*/
        p {
            width: 100px;
            height: 100px;
            background-color: rebeccapurple;
            position: absolute;
            left: 100px;
            top: 100px;
        }

    </style>
</head>
<body>
<div id="div1">
    <button @click="change">点我</button>
    <transition
            v-on:before-enter="beforeEnter"
            v-on:enter="enter"
            v-on:leave="leave"
            v-bind:css="false">
        <p v-show="show">hello</p>
    </transition>
</div>

</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: ‘#div1‘,
        data: {
            show: true
        },
        methods: {
             change: function () {
             this.show = !(this.show)
             },
            beforeEnter: function (el) {
                Velocity(el, {
                    width: ‘500px‘,
                    color: ‘red‘,
                    opacity: 0,
                }, {
                    duration: 1100,
                    easing: "swing"
                })
            },
            enter: function (el, done) {
                Velocity(el, {
                    opacity: 1,
                    top: ‘100px‘,
                    color: ‘blue‘
                }, {
                    duration: 1100,
                    easing: "swing",
                });
                Velocity(el, {
                    top: ‘150px‘,
                    color: ‘blue‘
                }, {
                    duration: 1100,
                    easing: "swing",
                    complete: done
                })

            },
            leave: function (el, done) {
                Velocity(el, {
                    top: ‘200px‘,
                    color: ‘blue‘,
                    opacity: 0,
                }, {
                    duration: 1100,
                    easing: "swing",
                });
                Velocity(el, {
                    top: ‘300px‘,
                    color: ‘blue‘
                }, {
                    duration: 1100,
                    easing: "swing",
                    complete: done
                })
            }

            /* beforeEnter: function (el) {
             el.style.opacity = 0
             el.style.transformOrigin = ‘left‘
             },
             enter: function (el, done) {
             Velocity(el, { opacity: 1, fontSize: ‘1.4em‘ }, { duration: 300 })
             Velocity(el, { fontSize: ‘1em‘ }, { complete: done })
             },
             leave: function (el, done) {
             Velocity(el, { translateX: ‘15px‘, rotateZ: ‘50deg‘ }, { duration: 600 })
             Velocity(el, { rotateZ: ‘100deg‘ }, { loop: 2 })
             Velocity(el, {
             rotateZ: ‘45deg‘,
             translateY: ‘30px‘,
             translateX: ‘30px‘,
             opacity: 0
             }, { complete: done })
             }
             */
        }
    })

</script>
</html>

另外发现一个vue(可能的)小bug,

就是在切换时候 用 v-show 好使。换成v-if则不行,元素的display一直是none.

但是换成官方的例子是可以的 https://vuefe.cn/v2/guide/transitions.html,

此处暂时记一下,

时间: 2024-10-26 03:39:47

vue示例之transition-另外发现一个vue(可能的)小bug的相关文章

三 vue学习三 从读懂一个Vue项目开始

源码地址:     https://github.com/liufeiSAP/vue2-manage 我们的目录结构: 目录/文件 说明 build 这个是我们最终发布的时候会把代码发布在这里,在开发阶段,我们基本不用管. config 配置目录,默认配置没有问题,所以我们也不用管 node_modules 这个目录是存放我们项目开发依赖的一些模块,这里面有很多很多内容,不过高兴的是,我们也不用管 src 我们的开发目录,基本上绝大多数工作都是在这里开展的 static 资源目录,我们可以把一些

发现一个vue的UI组件库

Mint UI 项目主页:http://mint-ui.github.io/#!/zh-cndemo:http://elemefe.github.io/mint-ui/#/github地址:https://github.com/ElemeFE/mint-ui中文文档地址:http://mint-ui.github.io/docs/#!/zh-cn 文档解释很清晰,适合刚上手的童鞋

使用Vue脚手架(vue-cli)从零搭建一个vue项目

注:在搭建项目之前,请先安装一些全局的工具(如:node,vue-cli等) node安装:去node官网(https://nodejs.org/en/)下载并安装node即可,安装node以后就可以正常使用npm命令 全局安装vue-cli工具:npm install vue-cli -g 开始创建项目: 找一个合适的位置,打开命令窗口,使用vue初始化基于webpack的新项目 vue init webpack vue-demo //注意名称太长的话它会有错误提示,就像VueDemo 我们可

vue.js+web storm安装及第一个vue.js

小白还是自己写一遍吧 1.下载node.js https://nodejs.org/en/download/ 2.安装淘宝镜像(类似于阿里云的maven中央仓库镜像) 安装时间有点长 安装命令:npm install -g cnpm --registry=https://registry.npm.taobao.org 验证命令:cnpm -v 3.安装webpack 利用cnpm安装webpack 命令行语句为cnpm install webpack -g 完了还要装webpack cli 验证

发现一个c++ vector sort的bug

在开发中遇到一个非常诡异的问题:我用vector存储了一组数据,然后调用sort方法,利用自定义的排序函数进行排序,但是一直都会段错误,在排序函数中打印参加排序的值,发现有空值,而且每次都跟同一个数据排序,非常诡异.数据本身没有问题,换一组数据,甚至是在不能排序的那组数据中增删一些数据,sort又正常了... 我把出现这种现象的数据贴出来,大神们感兴趣可以分析一下,究竟是为什么: 2016-05-10 00:28:00.0|2016-05-10 01:00:00.0|02000006000000

最近调的一个关于视频播放的小bug

上星期接到一个CQ,问题是这样的:下载官方的爱奇艺或者搜狐视频apk在板子上安装之后,无法正常播放在线视频,点击视频播放之后总是弹出对话框“XXX has stopped”,或者整个视频APP闪退. 于是我首先下载了一个爱奇艺的apk开始复现这个问题,然后从log进行分析,在kernel log发现线索: [ 392.674685] android: (01-02 01:17:32) process pid: 3352, tid: 4326 crash![ 392.682842] c0 4326

创建一个Vue项目

Vue.js不支持IE8及其以下版本,因为Vue.js使用了IE8不能模拟的ECMAScript5特性. 在用Vue.js构建大型应用时推荐使用NPM安装,Npm能很好地和诸如Webpack或Browserify模块打包器配合使用.Vue.js也提供配套工具来开发单文件组件. vue的安装依赖于node.js,要确保你的计算机上已安装过node.js.可以进入cmd编辑器,输入node -v进行查看.node尽量要用一些新的版本,否则后续安装会提示node版本过低.去node官网下个新版node

手把手教你实现一个 Vue 进度条组件!

最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手实现一下呗.  定义使用方式  想实现一个组件的前提,一定要想好你的需求是什么,还要自己去定义一个舒服的使用方法,这其中也是有原则的,对使用者来说,使用方式越简单越好.那么对应的代价就是写这个组件的复杂度会变高. 我想要的使用方式是这样的:可以在任意的地方去调用到这个方法,可以随时控制其状态.  看

读懂源码:一步一步实现一个 Vue

源码阅读:究竟怎样才算是读懂了? 市面上有很多源码分析的文章,就我看到的而言,基本的套路就是梳理流程,讲一讲每个模块的功能,整篇文章有一大半都是直接挂源码.我不禁怀疑,作者真的看懂了吗?为什么我看完后还是什么都不懂呢? 事实上一个经过无数次版本迭代的框架源码并不适合初学者直接阅读,因为里面有太多细节,太多噪点,太多枝枝蔓蔓.要想真正理解框架的核心逻辑,必须剥茧抽丝,还原出一个纯净的雏形.如同 jQuery 最早的版本只有六百多行,我相信 Vue 的核心功能也只需要几百行就能实现.所以,读懂源码的