angular2项目关于动画的处理

animations动画在angular2官网里面已经讲解很详细了,那么动画功能在实际项目中应该如何组织文件,动画文件放在哪个位置,如何来组织结构使得动画模块和其他模块之间运作调理清晰呢,下面参照NiceFish来讲解一下:

 一:定义动画

在app文件夹里面有一个专门的动画模块

拿一个例子来简单分析一下:

import { trigger, state, style, transition, animate, keyframes } from ‘@angular/animations‘;

export const flyIn = trigger(‘flyIn‘, [
  state(‘in‘, style({transform: ‘translateX(0)‘})),
  transition(‘void => *‘, [
       animate(300, keyframes([
        style({opacity: 0, transform: ‘translateX(-100%)‘, offset: 0}),
        style({opacity: 1, transform: ‘translateX(25px)‘,  offset: 0.3}),
        style({opacity: 1, transform: ‘translateX(0)‘,     offset: 1.0})
      ]))
  ]),
  transition(‘* => void‘, [
        animate(300, keyframes([
        style({opacity: 1, transform: ‘translateX(0)‘,     offset: 0}),
        style({opacity: 1, transform: ‘translateX(-25px)‘, offset: 0.7}),
        style({opacity: 0, transform: ‘translateX(100%)‘,  offset: 1.0})
      ]))
  ])
]);
trigger用于定于动画功能,返回动画模块,第一个参数‘flyIn‘是动画指令名,第二个参数是一个数组,state是定义每个动画状态,transition定义动画状态与另一个动画状态转化过程中具体的动作情况。

二:装载动画在组件文件中动画指令会被定义在组件当中,使得组件模块(angular模块)能够在编译自己视图的时候能够识别动画指令在component.ts文件中:
import { fadeIn } from ‘../../animations/fade-in‘;

@Component({
  animations: [ fadeIn ],    // 动画指令列表
  。。。。
})    

 三:使用动画

在component.html组件视图中:

 此外还包括[@fadeIn]="state"可赋值指令的情况以及一系列定义使用动画的各种情况,在官网中可以看到。这里简单介绍在项目中如何使用指令。

时间: 2024-08-30 13:31:31

angular2项目关于动画的处理的相关文章

Android项目---常用动画

在项目中经常会有闪屏的效果 在这里主要是通过定时器,将已经设定好的效果展现出来 /* * 2.5秒以后开始执行Runnable的run方法 */ new Handler().postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub Intent intent = new Intent(FlashActivity.this, HomeActivity.class); s

(三) Angular2项目框架搭建心得

前言: 在哪看到过angular程序员被React程序员鄙视,略显尴尬,确实Angular挺值得被调侃的,在1.*版本存在的几个性能问题,性能优化的"潜规则"贼多,以及从1.*到2.*版本的面目全非,不过宽容点来看这个强大的框架,升级到ng2肯定是一件好事情,虽然截至目前ng2还存在或多或少需要完善的地方,但是ng2做到了留下并强化ng1好的部分,移除或改善其不好的部分,并且基于许多较新Web技术来开发,不去看从ng1迁移到ng2的门槛和工作量的话,ng2的编程体验是很酷炫的. 目前n

1.搭建Angular2项目

简述:搭建angular2的开发环境,网上已经有许多教程,不过都是window系统下的教程,我本人使用的是linux系统,搭建环境的过程也稍微比前者麻烦了一点. 1. pakeage.json配置文件:是用来声明项目中使用的模块,在部署环境时,只要在pakeage所在的目录执行npm install命令就可以安装所有需要的模块了. 新建一个文件夹作为项目的根目录,整个项目的文件都存放在这个文件夹下面.在根目录下创建一个package.json的配置文件,该文件描述了npm包的所有相关信息, 包括

给列表项目添加动画

本文由 伯乐在线 - J.c 翻译,进林 校稿.未经许可,禁止转载!英文出处:cssanimation.rocks.欢迎加入翻译小组. 当网页某部分发生改变时,添加一些动画有利于让用户知道发生了什么事情.因为动画能预告新内容的到达,或者让用户知道信息被移除.在这篇文章里,将会看到如何运用动画帮助新内容的引进,例如显示或隐藏列表里的项目. (可在原文查看效果) 引进内容 动画有个很好的用处,它能够让访客知道你的网站内容在何时发生了改动.当添加或删除内容而没有任何动画进行过渡时,内容的突然改变会让用

如何在ASP.NET 5上搭建基于TypeScript的Angular2项目

一.前言 就在上月,公司的一个同事建议当前的前端全面改用AngularJs进行开发,而我们采用的就是ASP.NET 5项目,原本我的计划是采用TypeScript直接进行Angular2开发.所以借用这段时间来写下如何在ASP.NET 5下搭建基于TypeScript的Angualr2的项目,下面我们就进入正题. 二.环境配置 如果读者直接按照Angular.io上的方式搭建是无法通过的,所以下面我们的教程基本跟Angular.io上的类似,只是其中的配置会有所不同,并且也会多出一些步骤. 1.

vue开发移动端项目 过渡动画问题

App.vue: <div id="app"> <div class="content"> <transition :name="transitionName" :duration="{ enter: 500, leave: 0 }"> <router-view class="transitionBody"></router-view> </

angular2项目 gulp配置文件

gulpfile.js var gulp = require('gulp'); // typescript编译插件 var ts = require('gulp-typescript'); var tsProject = ts.createProject('tsconfig.json'); // 生成js.map文件,便于调试 var sourcemaps = require('gulp-sourcemaps'); // web服务器插件 var browserSync = require('b

angular2项目如何使用sass

angular/cli支持使用sass 新建工程: 如果是新建一个angular工程采用sass: ng new My_New_Project --style=sass 这样所有样式的地方都将采用sass样式,如果需要使用sass的scss语法,还可以如下方式: ng new My_New_Project --style=scss 然后需要手动安装node-sass: npm install node-sass --save-dev 这样就可以实现用sass语法做样式了. 已有angular-c

Linux(Ubuntu)下安装Angular2

看过angular2官网的,应该都知道可以利用CLI工具快速搭建angular项目,安装cli之前要先安装node.js和npm,并且node.js的版本要在6.9.0以上,npm要在3.0.0以上. 我的node.js和npm都顺利的安装了,但总是在安装angular/cli的时候出错,后来才知道node.js必须安装6.9.4这个版本才可以. 在安装node.js之前,如果没有安装g++和libssl-dev的,按照以下步骤安装: sudo apt-get install g++ sudo