分享 《关于我》

分享  [中文纪录片]互联网时代                 http://pan.baidu.com/s/1qWkJfcS

 

AngularJS 团队刚刚宣布了1.4发布候选版的问世,对内部的动画代码系统进行了彻底的重构。

在1.4版本中,ngAnimate使用了新的动画系统,通过回调钩子支持基于CSS的动画以及基于JavaScript的动画。

Google在这个JavaScript框架的 发布说明 中表示,在新的 $animate 特性中“ngAnimate的全部代码都进行了重写,以使内部的动画代码更加灵活、重用性更高并且性能更出色。”

Matias Niemelä是来自Google的一位软件工程师,他在 Google+上的一篇帖子 中宣布了在1.4版本中ngAnimate所包含的“一系列新特性与bug修复”。

包括以下内容:

  • 使用$animateCss通过命令式的方式控制或触发基于CSS的转换和关键帧
  • (使用ng-animate-ref)生成跨页面的跨动画元素
  • 使用$animate中新的API处理回调
  • 包括大量与回流相关的bug修复,并且将提供一个更好的基础,以便在即将到来的1.5版本中能够实现更多的特性。

$animate在新的版本中也产生了大量的破坏性改动。其中最引人注目的一条是,JavaScript与CSS动画将无法并行地运行了。在之前的版本中,通过使用ngAnimate,当检查到多个动画运行时,可以同时运行CSS与JS的动画。

不过,虽然这一特性从1.4版本中被移除,但AngularJS对此表示“通过将$animateCss注入到某个由JavaScript定义的动画中,并且在其中创建自定义的基于CSS的动画,可以实现相同的效果,甚至还能够带来更多的可能性”。

$animate在新版本中的破坏性改动还包括$animate.enabled()这个函数的参数的变化,当调用$animate.enabled()这个函数时使用某个单一元素的的话,那么该函数将表现为一种getter方法。

$animate的另一个破坏性发动是“在动画的promise回调中无需调用$scope.$apply或$scope.$digest了,因为该promise已经通过一个digest进行自动解析了(但如果没有对promised进行链式调用,digest是不会自动运行的)”

使用$animateCss通过命令式的方式控制或触发基于CSS的转换和关键帧

(使用ng-animate-ref)生成跨页面的跨动画元素

使用$animate中新的API处理回调

包括大量与回流相关的bug修复,并且将提供一个更好的基础,以便在即将到来的1.5版本中能够实现更多的特性。

// < 1.4
$animate.enter(element).then(function() {
$scope.$apply(function() {
$scope.explode = true;
});
});
// 1.4+
$animate.enter(element).then(function() {
$scope.explode = true;
});

可以在 这里 找到关于其它破坏性改动的更多细节。

Angular 1.4版本的开发代号为 smooth-unwinding ,其中也包括了多个性能改进之处,包括对ngOptions的改动,现在它只在使用track by的情况下才会对ngModel进行深度等同性测试。此外,当Angular app卸载时,$rootScope也会移除历史事件的处理器。

1.4原本计划在2015年3月份发布,当时 ng-conf 这个关注于AngularJS的大会正在如火如荼地进行中。在1.4版本发布之后,AngularJS 1.5的工作就将正式展开。Brad Green是Google工程团队的总监,也是Angular开发计划的领导人,他在ng-conf大会之后 宣布 ,1.5版本的主题是支持与Angular 2的整合。

虽然整个Angular社区对于2.0版本仍然保有很大的疑惑和困惑,但Google已经表示他们将继续在angularjs.org上维护Angular 1.X版本,而在 angular.io 上发布Angular 2.0的Alpha版本。在ng-conf大会上Google也再次对社区明确表态:在Angular 2.0版本的流量占到上风之前,他们绝对不会结束Angular 1.X的生命。

查看英文原文: AngularJS 1.4 Completely Refactors Animation System

最新文章

  1. jquery常用插件及用法总结
  2. thinkPHP--CURD操作
  3. spring源码学习之路---深入AOP(终)
  4. 使用Jquery+EasyUI 进行框架项目开发案例讲解之四 组织机构管理源码分享
  5. Innodb buffer pool/redo log_buffer 相关
  6. Oracle EBS-SQL (BOM-7):检查有BOM无工艺路线的子装配件或成品.sql
  7. 在Linux上如何查看Python3自带的帮助文档?
  8. maven(01)--安装及其介绍
  9. MySQL数据库操作类(PHP实现,支持连贯操作)
  10. 计算机基础,Python基础--变量以及简单的循环
  11. [POJ 3728]The merchant
  12. 【Java面试宝典】深入理解JAVA虚拟机
  13. SpringBoot笔记十二:缓存
  14. Express中间件的原理及实现
  15. K8s部署使用CFSSL创建证书
  16. Marlin 溫度感應器 數值轉換對應表
  17. mysql where 条件中的字段有NULL值时的sql语句写法
  18. js 中时间格式化的几种方法
  19. wordpress 自己制作子主题 child theme
  20. 20145216史婧瑶《Java程序设计》第三次实验报告

热门文章

  1. BZOJ 1864 三色二叉树 - 树型dp
  2. callback回调函数理解 相当于this指针
  3. Docker + .NET Core(三)-两种发布方式
  4. 【Codeforces Round #438 A】Bark to Unlock
  5. go-wingui 2018 全新 v2.0 版本发布,包含重大更新!
  6. SecureCRT 专题
  7. GDI+与WPF中的颜色简析
  8. 《Silk》(皇家律师)—— 英美海洋法系
  9. qt4.8.7 源码在win7+vs2010环境的x64编译(qt 64位)
  10. BIOS 选项设置的含义