小施za 2019-06-25
bower
是一个类似于npm
的包管理工具,只不过npm
更偏向于后台,而bower
更偏向于前端。我们同样也是需要通过npm
的方式来下载bower
。我们在cmd
当中键入命令-> npm install bower -g
来完成将bower
下载安装到npm
的全局目录下,由于我们之前已经把npm
的全局安装目录配置到环境变量当中了,故下载完成后,不再需要配置环境变量。之后我们可以在任意目录下,通过cmd
键入命令-> boewr --version
,显示如下结果,则说明bower
安装成功。
常用的bower
命令有:
bower install 包名
bower install 包名#版本号
来下载指定版本号的包。bower uninstall 包名
bower info 包名
我们在使用
bower
进行包的管理之前,一般都需要在本机上完成git
的安装,因为需要从git
仓库获取一些代码包。git
的安装见文章 git与github的使用 。
我们之前是通过vue
的官网把vue.js
文件下载到本地,然后通过script
标签的方式来引入的。现在我们也可以使用bower
的方式来下载vue.js
文件,我们在项目文件夹下,打开cmd
键入命令-> bower install vue
。在下载完成之后,在项目文件夹下会生成一个名为bower_components
的文件夹。在该文件夹下有vue
文件夹,在内部的dist
文件夹下有vue.js
文件。可以通过<script src="bower_components/vue/dist/vue.js"></script>
的方式来引入。
我们常用
bower
当中的info
命令来查看某个包的版本信息。
animate.css
是一个css3
动画库,里面预设了很多种常用的动画,使用也很简单,因为它是把不同的动画绑定到不同的类里,所以我们想要使用哪种动画的时候,只需要简单的把那个相应的类添加到元素上就行了。
我们同样可以通过bower
的方式来下载animate.css
库文件,我们在项目文件夹下,通过cmd
来键入命令-> bower install animate.css
。下载完成之后,在项目文件夹当中的bower_components
的文件夹下多了一个animate.css
文件夹。我们可以在主文件当中通过<link rel="stylesheet" href="bower_components/animate.css/animate.css">
来完成引包。
然后我们给要运动的元素添加上animated
类 以及特定的动画类名,animated
是每个要进行动画的元素都必须要添加的类,表示调用animate.css
文件。示例代码如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="bower_components/animate.css/animate.css"> <script src="js/jquery-1.11.3.min.js"></script> <style> #test{ width:200px; height:200px; background-color: skyblue; margin:100px auto; } </style> <script> $(function(){ $('#show').on('click',function(){ $('#test').removeClass('bounceOutRight'); $('#test').addClass('animated bounceInLeft'); }); $('#hide').on('click',function(){ $('#test').removeClass('bounceInLeft'); $('#test').addClass('animated bounceOutRight'); }); }); </script> </head> <body> <button id="show">显示</button> <button id="hide">离开</button> <div id="test"></div> </body> </html>
当我们点击显示按钮时,蓝色方块从左边弹跳进入,当点击离开按钮时,蓝色方块从右边弹跳离开。更多的动画类名我们可以在Animate.css的官网进行查看。
在vue2.0
当中我们可以使用transition
组件标签配合animate.css
来制作出各种过渡动画的效果。我们可以用transition
标签来包裹住要运动的那个dom
元素,并给该transition
标签加上属性enter-active-class
和leave-active-class
,然后再给这两个属性值加上添加上animated
类 以及特定的动画类名。示例代码如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="bower_components/animate.css/animate.css"> <script src="bower_components/vue/dist/vue.js"></script> <style> .test{ width:200px; height:200px; background-color: skyblue; margin:100px auto; } </style> <script> window.onload = function(){ var vm = new Vue({ el:'#box', data:{ a:false }, methods:{ toggle:function(){ this.a = !this.a; } } }) } </script> </head> <body> <div id="box"> <button @click="toggle()">toggle</button> <transition enter-active-class="animated bounceInLeft" leave-active-class="animated bounceOutRight"> <div class="test" v-show="a"></div> </transition> </div> </body> </html>
当我们点击toggle
按钮时,可以切换实现蓝色方块从左边弹跳进入和从右边弹跳离开的动画效果。
但是transition
标签只能用于包裹单个运动元素,如果有多个dom
元素想要实现动画效果,则我们需要使用transition-group
标签来包裹这些运动的元素,并且内部的dom
标签元素必须都加上属性:key
,并给其赋予不同的属性值以示区分。示例代码如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="bower_components/animate.css/animate.css"> <script src="bower_components/vue/dist/vue.js"></script> <style> .test{ width:100px; height:100px; background-color: skyblue; margin:30px auto; text-align: center; line-height: 100px; color:white; font-size: 20px; } </style> <script> window.onload = function(){ var vm = new Vue({ el:'#box', data:{ a:false, arr:[1,2,3,4] }, methods:{ toggle:function(){ this.a = !this.a; } } }) } </script> </head> <body> <div id="box"> <button @click="toggle()">toggle</button> <transition-group enter-active-class="animated bounceInLeft" leave-active-class="animated bounceOutRight"> <div class="test" v-show="a" v-for="(value,index) in arr" :key="index">{{value}}</div> </transition-group> </div> </body> </html>
当我们点击toggle
按钮时,可以切换实现四个蓝色方块同时从左边弹跳进入和同时从右边弹跳离开的动画效果。
我们还可以把animate.css
配合aniAuto
(一个基于 animate.css
的jquery
插件)来使用,从而来制作出更多更复杂的动画效果。其下载地址及使用文档见 https://github.com/justinzzc/...