【Ionic2】Ionic2 踩坑记录

之前已经写过2篇相关的文章了,这里在把遇到的坑的细小的点也记录一下:


之前的两篇文章:

1 【Ionic2】Ionic2打包编译时内存溢出问题

2 【Ionic2】Ionic2 Android 打包 Crosswalk报错问题的解决方案


这里要记录的坑:


1 安卓6.0时,Push跳页面报错,报错的信息如下:

Expression has changed after it was checked. Previous value: 'undefined' Current value: 'true'

解决方案:

在app.component头上加上

import { enableProdMode } from '@angular/core'
enableProdMode();


2 fileTransfer

应用中的图片文件有时需要缓存到本地,用fileTransfer缓存的图片保存的文件路径,只能已相对路径的方式存储下来

在实际使用中再加上文件夹路径

ios的沙盒覆盖安装之后,绝对路径将会改变(缓存文件相对app的相对路径不变),所以缓存的路径需要用相对路径进行存储



3 file下checkFile和removeFile

文档上的说明如下:

checkFile(path, file)

removeFile(path, fileName)

其中的坑在于,第三方选图/选视频插件返回的路径可能为

/storage/img/123.png

或者是

file:///storage/img/123.png

checkFile和removeFile的第一个参数path,只接受file://开头的路径

即这里的path应该填写,file://storage/img,并且这里path需要进行encodeURI处理


checkFile和removeFile的第二个参数都是文件名fileName,

在这里为123.png,并且这里fileName也需要进行encodeURI处理



4 Android的app上的角标,通常使用cordova-plugin-badge进行角标的加减处理

其中Android 6.0+,7.0+的版本,需要0.8.1的该插件版本才能支持角标正常工作



5 template上的遍历和其它元素上的遍历写法略有不同