AngularJS 1.5.0-rc.2 发布,HTML 的 Web 框架

jopen 5年前

AngularJS 1.5.0-rc.2 发布,HTML 的 Web 框架

AngularJS 1.5.0-rc.2 发布,更新如下:

Deprecation Warning

  • The ngTouch module's ngClick directive has been deprecated and disabled by default. See the breaking changes section for more information

Bug Fixes


  • $compile:

    • allow required controllers to be bound to the directive controller (56c3666f,#6040, #5893, #13763)

    • allow directive definition property require to be an object (cd21216f,#8401, #13763)

    • call $ngOnInit on directive controllers after all sibling controllers have been constructed (3ffdf380,#13763)

  • $locale: include original locale ID in $locale(63492a02,#13390)

  • $resource: add support for timeout in cancellable actions (d641901b,#13824)

Performance Improvements

  • $compile: avoid needless overhead when wrapping text nodes (92e4801d)

  • ngAnimate: speed up areAnimationsAllowed check (683bd92f)

Breaking Changes

The ngClick override directive from the ngTouch module is deprecated and disabled by default. This means that on touch-based devices, users might now experience a 300ms delay before a click event is fired.

If you rely on this directive, you can still enable it with the $touchProvider.ngClickOverrideEnabled()method:

angular.module('myApp').config(function($touchProvider) {  $touchProvider.ngClickOverrideEnabled(true);  });

Going forward, we recommend using FastClick or perhaps one of the Angular 3rd party touch-related modules that provide similar functionality.

Also note that modern browsers already remove the 300ms delay under some circumstances:

  • Chrome and Firefox for Android remove the 300ms delay when the well-known <meta name="viewport" content="width=device-width"> is set

  • Internet Explorer removes the delay when  touch-action css property is set to none or manipulation

  • Since iOs 8, Safari removes the delay on so-called "slow taps"

See this article by Telerik for more info on the topic.

Note that this change does not affect the ngSwipe directive.