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传入数据

 今天分享的内容就这么多,希望能够帮到大家,稍后小编会继续更新

    


      
原文地址:https://www.cnblogs.com/missya/p/10625254.html