IonIc 技术总结与整理
小编考虑了很久,觉得还是要自己申请博客写一些东西,一方面是尽自己的微薄之力帮助那些难友们解决问题,另一个方面也是对自己的技术总结。作为一个开发人员,要不断的去反思,不断的去总结,当你回头再看看你写的代码时,你会觉得曾经真是写的乱七八糟,这就说明你已经进步了。好了,看一下本人用的ionic 项目技术总结:
(1)隐藏导航栏返回按钮
<ion-navbar hideBackButton=true> </ion-navbar> 这里面有一个hideBackButton的属性,设置为true就可以了。
(2)登录页面要禁止app的侧滑栏
引入menucontrol
import { MenuController } from 'ionic-angular'
其次设置禁止侧滑栏和释放侧滑栏
ionViewEnter(){ //表示进入页面的时候禁止侧滑栏
this,menu.enable(false)
}
ionViewWillLeave(){ //表示即将离开页面的时候释放侧滑栏
this,menu.enable(true)
}
(3)ionic 侧滑栏中获取数据的三个事件方法
IonDrap() //当菜单被拖动打开时发出。
IonOpen() //在打开菜单时发出。
IonClose() //当菜单已关闭时发出。
但是侧滑栏中填充数据非常的慢,你会发现即使使用了这三个方法,填充数据一人需要反映好久,这在用户体验上相差很多。当时小编也遇到了这个坑,之后有了一个新方法解决的,这里离用到的方法就是 Event 事件。
this.events.publish () //注册Events事件
this.events.subscribe() //调用Events事件 无论哪个页面都能立马获取到注册事件的数据信息
this.events.unsubscribe() //注销Events事件
(4)键盘顶起底部导航栏的行为
cordova plugin add ionic-plugin-keyboard --save
监听键盘弹起
window.addEventListener('native.keyboardshow', function (e) {
// todo 进行键盘可用时操作
//e.keyboardHeight 表示软件盘显示的时候的高度
});
监听键盘关闭
window.addEventListener('native.keyboardhide', function (e) {
// todo 进行键盘不可用时操作
});
(5)IOS调用数字键盘。你会发现android 可以调用数字键盘,而IOS却不能调用,没关系,小编这里还是有方法的。
推荐一个cordova插件:cordova-plugin-decimal-keyboard
用法:<input type="text" pattern="[0-9]*" decimal="true">
其他用法不介绍了,去GitHub 上查找就可以了
(6)IOS下消息推送问题
小编遇到的问题是在iOS 上app被关闭的时候,仍然能够收到消息推送,但是点开后内容全部刷新,找不到要看的信息了,在其他的app也有这个问题,因为IOS的消息推送插件是收费的,所以领导要求同事自己封装了一个推送插件,但 是领导一直以为这个问题用户体验不好,要求把这个问题解决掉,无奈小编花了好长时间才解决掉。下面说下小编的思路,因为每个人的项目不一样,所以就不写代码了。
第一步:判断当前是否是登录状态,并储存在一个全局的ts文件中
第二步:每次推送消息先判断当前是否登录,如果是登录的状态就直接进行跳转,如果不是就把推送消息传来的数据保存全局ts文件,然后启动app,判断刚刚存储的数据是不是为空,如果为空就让app跳转默认界面,如果不为空,则
跳转对应的界面,然后把存储的数据清空。
(7)post 请求 。post发送数据时应该先对数据进行处理,然后再进行发送。
let params:Params=newURLSearchParams();
Params.append(key,value)
然后把Params传入数据
今天分享的内容就这么多,希望能够帮到大家,稍后小编会继续更新