Angular2的動(dòng)畫系統(tǒng)賦予了制作各種動(dòng)畫效果的能力,致力于構(gòu)建出與原生CSS動(dòng)畫性能相同的動(dòng)畫。
成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
Angular2的動(dòng)畫主要是和@Component結(jié)合在了一起。
animations元數(shù)據(jù)屬性在定義@Component裝飾。就像template元數(shù)據(jù)屬性!這樣就可以讓動(dòng)畫邏輯與其應(yīng)用代碼緊緊集成在一起,這讓動(dòng)畫可以更容易的出發(fā)與控制。
一.在app.mudule.ts中引入:
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
并在@NgModule中的imports添加:
imports: [BrowserAnimationsModule],
二.創(chuàng)建文件定義名為animations.ts用來書寫轉(zhuǎn)場動(dòng)畫
import { animate, AnimationEntryMetadata, state, style, transition, trigger } from'@angular/core'; // Component transition animations export const slideInDownAnimation: AnimationEntryMetadata = // 動(dòng)畫觸發(fā)器名稱 trigger('routeAnimation', [ state('*', style({ opacity: 1, transform: 'translateX(0)' }) ), transition(':enter', [ style({ opacity: 0, transform: 'translateX(-100%)' }), animate('0.2s ease-in') ]), transition(':leave', [ animate('0.5s ease-out', style({ opacity: 0, transform: 'translateY(100%)' })) ]) ]);
三.在需要添加轉(zhuǎn)場動(dòng)畫的頁面操作
引入import {HostBinding } from '@angular/core';(如果引入過直接將HostBinding添加進(jìn)去就好,不要重復(fù)引入,多嘴了...)
再引入你寫好的動(dòng)畫模板:import { slideInDownAnimation } from '../animation';
在@Component中添加:animations:[slideInDownAnimation],
最后:
// 添加@HostBinding屬性添加到類中以設(shè)置這個(gè)路由組件元素的動(dòng)畫和樣式 @HostBinding('@routeAnimation') routeAnimation = true; @HostBinding('style.display') display = 'block'; @HostBinding('style.position') position = 'absolute';
四.至此你可以去瀏覽器看看效果了,如果沒有錯(cuò)誤
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
名稱欄目:angular2系列之路由轉(zhuǎn)場動(dòng)畫的示例代碼
分享URL:http://jinyejixie.com/article36/jjpepg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、企業(yè)建站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)