zoukankan      html  css  js  c++  java
  • 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传入数据

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

        


          
  • 相关阅读:
    (转)回车 执行button点击
    (转)sp_executesql介绍和使用
    (转)SQL Server 2008将数据导出为脚本 [SQL Server]
    (转)Phonegap VS AppCan
    (转)asp.net动态设置标题title 关键字keywords 描述descrtptions
    Ubuntu Tomcat Service
    Ubuntu使用ssh方法连接不上
    Ubuntu输入su提示认证失败的解决方法
    Redis通过命令行进行配置
    linux下安装redis3.2
  • 原文地址:https://www.cnblogs.com/missya/p/10625254.html
Copyright © 2011-2022 走看看