原生app有一千种好,但是就是有个小缺点,成本高,刚好这个又是大多数老板和创业团队所不能承受的,所以随着手机硬件的不断进化,webApp迎来爆发期,其中ionic2个人觉得是一个不错的webApp开发框架,特别是你是ng2的爱好者,今天就来谈谈ng2中的小坑以及分享一个探索学习的方法。
例牌:需求是要在ionic组件里面使用管道,例如:使用数字管道或者货币管道
1.看到需求的第一反应肯定是去官网找答案的,这是正常人的思维,但是发现官网只是描述了再view中的使用,例如:{ {1234 | number :‘2.2-2’}}没有找到答案
2.既然官网没有,那么就要思考这个需求是否合理了,是不是这个需求是不是根本没有对应的管道实现?
我的脑细胞飞速跳跃中,想起了ng1,ng1的过滤器可以通过给controller注入$filter服务来在控制器里面使用过滤器,注入在ng2中相当于模块引入,那是不是可以这样
实现呢?在控制器里面import 引入管道模块,然后再得到模块的实例,这个样子就可以使用管道了,于是奔着这个思路,心里肯定了这个是肯定存在的,只是不知道怎么
使用
3.既然确定了要找的东西存在地球,那肯定是可以找到的,这个时候就去谷歌 github 各种途径不择手段的去寻找,功夫总是不负有心人的:找到了
可以在common模块引入管道:
3.1 第一步 引入模块
import { DatePipe,CurrencyPipe } from '@angular/common';
第二步 声明提供商(如果整个应用多出使用可以在ngModule里面进行全局声明)providers:[DatePipe,CurrencyPipe]
第三部 在组件内部声明私有变量,变量的默认值为对应的服务,这样做就相当于告诉了ng2这个组件实例化需要创建两个实例,怎么创建实例根据上面定义的providers定义的提供商去创建
private dataPipe:DatePipe, private currencyPipe :CurrencyPipe第四部这个时候就可以使用管道了