vue-resource及动画

全局配置数据接口的根域名:

Vue.http.option,root = ' ';

注意:如果需要使用全局配置的根域名,this.$http.get(url)中url不能有相对路径,如:

/api/....(不能使用) 

而是: api/..

 

动画

  1. v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

  2. v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

  3. v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

  4. v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

  5. v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

  6. v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 <transition>,则 v- 是这些类名的默认前缀。如果你使用了 <transition name="my-transition">,那么 v-enter 会替换为 my-transition-enter

v-enter-active 和 v-leave-active 可以控制进入/离开过渡的不同的缓和曲线,在下面章节会有个示例说明

1.第一种实现动画

css:`
.v-enter, .v-leave-to
{ opacity:0; transform: translateX(180px); } .v-enter-active, .v-leave-active{ transition: all .5s ease; }
html:
<
transition> <h3 v-if="show">123</h3> </transition>

如果不想自己写css动画,也可以通过引入Animate.css,官网https://daneden.github.io/animate.css/
后在transition中添加类名即可,注意:animated 类名需要添加进去,如:

2.第二种实现动画
<transition enter-active-class="animated zoomOutDown" leave-active-class="animated zoomOutDown">
     <h3 v-if="show">show</h3>
</transition>

3.第三种实现动画(钩子函数实现半场动画)
html
<
transition v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="afterEnter" v-on:enter-cancelled="enterCancelled" v-on:before-leave="beforeLeave" v-on:leave="leave" v-on:after-leave="afterLeave" v-on:leave-cancelled="leaveCancelled" > <!-- ... --> </transition>
javascript
//
... methods: { // -------- // 进入中 // -------- beforeEnter: function (el) { // ... }, // 当与 CSS 结合使用时 // 回调函数 done 是可选的 enter: function (el, done) { // ... done() }, afterEnter: function (el) { // ... }, enterCancelled: function (el) { // ... }, // -------- // 离开时 // -------- beforeLeave: function (el) { // ... }, // 当与 CSS 结合使用时 // 回调函数 done 是可选的 leave: function (el, done) { // ... done() }, afterLeave: function (el) { // ... }, // leaveCancelled 只用于 v-show 中 leaveCancelled: function (el) { // ... } }

当只用 JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则,它们将被同步调用,过渡会立即完成。

推荐对于仅使用 JavaScript 过渡的元素添加 v-bind:css="false",Vue 会跳过 CSS 的检测。这也可以避免过渡过程中 CSS 的影响。

 

注意:如果需要过渡的元素,是通过v-for循环渲染出来的,不能使用transition包裹,而是需要transition-group

   而使用它时,可以使用sppear属性来实现元素自下向上的视图动作效果,使用tag属性来让transition-group

   转换成其他元素,例:tag="url"

 

移除元素时,也需要用到过渡,则可以使用如下:(一般固定这两个类名)

.v-move{
   transition:all 0.6s ease;      
}

.v-leave-active{
   position:absolute;
}

 另外transition的一个属性:mode,来规定方式

 例:mode="out-in",规定先出后进

 

附上常用的动画效果代码

<template>
	<div id="my">
		<transition >
			<router-view></router-view>
		</transition>
	</div>
</template>
	#my{
		overflow-x: hidden;
	}
	
	.v-enter {
		opacity: 0;
		transform: translateX(100%);
	}

	.v-leave-to {
		opacity: 0;
		transform: translate(-100%);
		position: absolute;
	}

	.v-enter-active,
	.v-leave-active{
		transition: all .5s ease;
	}

  

菜鸟写文章,不喜勿喷,如有错误,请指正。

posted @ 2019-04-12 16:34  WernerWu  阅读(218)  评论(0编辑  收藏  举报