构建移动网站与APP:ionic移动开发入门与实战 (跨平台移动开发丛书)
上QQ阅读APP看书,第一时间看更新

4.2 lodash(可选学)

lodash是一套JavaScript工具库,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,在本书的3.6节的示例3-10已经使用了它的数组处理函数。目前每天使用npm安装lodash的数量在百万级以上,这在一定程度上证明了其代码的普世性,笔者推荐读者在自己的项目中选择使用。本书13和14章的项目实战中,也会大量运用到lodash的多个辅助函数。

4.2.1 使用场景

lodash库提供的辅助函数主要分为以下几类:

● Array:适用于数组类型,比如填充数据、查找元素、数组分片等操作。

● Collection:适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作。

● Function:适用于函数类型,比如节流、延迟、缓存、设置钩子等操作。

● Lang:普遍适用于各种类型,常用于执行类型判断和类型转换。

● Math:适用于数值类型,常用于执行数学运算。

● Number:适用于生成随机数,比较数值与数值区间的关系。

● Object:适用于对象类型,常用于对象的创建、扩展、类型转换、检索、集合等操作。

● Seq:常用于创建链式调用,提高执行性能(惰性计算)。

● String:适用于字符串类型。

● Util:提供了杂类辅助函数。

由于lodash库提供的辅助函数数量众多,而本书的主旨是关于Ionic框架的开发,因此不再一一深入介绍了。笔者将会在后续第14章和第15章中的项目实战代码里解说用到的相关lodash库函数。

4.2.2 引入到项目

尽管lodash库在有数据处理需求的前端开发中已属标配,但Ionic框架并没有包含它。因此读者如果需要在自己的项目或产品中使用,必须自行引入。如果仅在JavaScript文件中使用,可以采用类似本书3.6节中示例3-10的简单做法,包含lodash的JavaScript文件后使用全局变量_来获取它即可。

然而如果需要在HTML视图页的AngularJS表达式中使用lodash库,则有可能因为作用域对象的解析不包括全局变量而无法使用。有一个解决办法是在主应用模块的run方法代码块里设置lodash库根对象到根作用域里,这样HTML视图页里就也能使用了lodash库了,如:

【示例4-1】设置lodash库根对象到AngularJS应用的根作用域。

        var myapp = angular.module('myApp', [])
        .run(function ($rootScope) {
      $rootScope._ = window._;
        });

【代码解析】代码里的run方法将在AngularJS应用启动时被调用,因此随后所有的作用域对象就都能通过继承链使用它了。

提示

在页面包含lodash库文件时,需要把包含代码放置在应用本身的JavaScript文件前面,可参见示例3-10的做法。

4.2.3 进一步学习指南

lodash库功能强劲,而且效率很好,比较适合移动开发这种前台响应要求高的场景。在此推荐读者可以到其官方网站https://lodash.com/docs多学习了解其提供的函数,以节省开发时间和减少自编代码中错误产生的几率。