今日阅读列表

最近的项目在下一个发布将放弃对 IE8 的支持,于是准备将 AngularJS1.2.7 升级到 1.3.x
在正式的迁移之前,对 AngularJS 1.3 的一些改动做调研,以下是今天调研的四篇文章。

单向数据绑定

双向绑定可谓 AngularJS 的核心杀手锏之一。但由于每一个绑定都增添了一个 watcher,绑定的数据在不断的增加,$digest 势必会花费更多的时间去处理。
一方面许多数据只需一次性绑定即可,后续无需再次更新;另一方面,为了提高整体的性能,AngularJS 在 1.3 提供了单向的绑定。在使用上,单向数据绑定与双向仅有细微的差别,即在 {{}} directive 中,为绑定的数据添加 :: 前缀即可:

1
2
Hello, {{ name }} // 双向绑定
Hello, {{ ::name }} // 单向绑定

angular-hint

AngularJS 1.3 中新增一个 angular-hint 模块,这个模块旨在帮助开发者更易于开发 AngularJS 应用程序,避免开发中一些易遗漏,但难于调试的问题。例如,在 HTML 中引入了一个新的 directive ,但是忘记将这个 directive 加入 application 的依赖模块中。使用这个模块的步骤如下:

  1. 下载 angular-hint 模块

    1
    npm install --save angular-hint
  2. 在页面中引用此模块

    1
    <script src="path/to/angular-hint/hint.js></script>
  3. 使用 ng-hint directive

    1
    <html ng-app="exampleApp" ng-hint>

新增的 angular-hint 包含 5 个子模块:angular-hint-controllers, angular-hint-directives, angular-hint-dom, angular-hint-events, angular-hint-modules 以及 angular-hint-interpolation,各个模块对应不同的错误类型检测。使用 angular-hint 的时候,可以仅使用其中的某个/些模块:

1
<html ng-app="exampleApp" ng-hint-include="dom directives">
0%