最近在使用ionic开发几个移动端的模块,使用过程中积累一些经验,在此总结下,以供参考。后续开发过程中如果有其他问题,会随时补充。
这些问题经过归纳总结分为以下几大类:

  • html
  • angularJs
  • ionic
  • android

html类问题

  • 在ios系统上,有些链接会被当作电话号码来处理,默认显示成蓝色可点击样式,添加以下meta可以解决此问题:

<meta name="format-detection" content="telephone=no"/>


angularjs类问题

  • 传递参数
    ionic的路由模块使用了angularjs的第三方模块ui-router,路由跳转传递参数的形式 如果参数只是一个id,使用以下代码传参:

ui-sref="stateName({id:id})"

config配置如下:

.state("stateName",{ url:"/xxx/:id" })

如果传递的是复杂参数,比如传递一个JSON对象:

ui-sref="stateName({obj:obj})"

config配置如下:

.state("stateName",
{
url:"/xxx",
params:{
obj:null
}
})

  • 缓存
    默认ui-router对同一个url是做了缓存的,也可以不做缓存:

    .state("stateName",{ url:"/xxx", cache:false })

  • 根据RestURI的思想设计路由,对于不同的对象尽量使用URL来区分,不要通过参数来区分 比如查看user对象的详情,传统的URL设计可能是这样:

/detail?id=1

使用REST-URI来设计就是这样:

/detail/1

  • 启动
    一般情况下我们使用以下指令来启动angularjs

<body ng-app='app'>

但是有时候我们要控制下angularjs的启动时机,比如判断用户是否已经登陆,这时候就要通过编码来控制angualrjs的启动:

angular.bootstrap(document,['app'])

IONIC类的问题

  • 支持键盘事件(弹出软键盘不遮挡界面),配置代码如下:

app.run(function($ionicPlatform) {
$ionicPlatform.ready(function() { if (window.cordova &&
window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true); } }); })

另外在nav-footer指令内包含有输入框的时候,需要添加以下属性:

keyboard-attach

  • 使ion-content支持滚动效果:

$ionicConfigProvider.scrolling.jsScrolling(true);

  • 在ion-view指令内可以重定义导航栏的左侧按钮和右侧按钮
  • 动画效果的添加
    如果通过ui-sref跳转,需要在ion-view指令上添加

nav-direction="forward/back"

forward和back分别表示前进的动画和返回的动画,如果是在代码中使用$state.go跳转的话,需要在跳转代码后添加动画代码:

$ionicViewSwitcher.nextDirection("back");//forward

android问题

  • 如果在android上要支持键盘事件,android的布局fullScreen要设置为false
第一次使用markdown写文档,有些生疏,不过markdown确实很强大,非常适合程序员来写文档,以后写博客都会用它了。
现在正在看Ionic框架js和android的源码实现,后续有时间了,会把分析过程和结果分享给大家。

使用ionic开发移动app的过程中经验总结相关推荐

  1. 制作好的app需要服务器吗,在直播app制作过程中,服务器是如何配置的?

    不论是一对多直播还是一对一直播app制作,关于服务器的配置和成本是大多数运营商比较关心和头疼的问题.一般来说,在直播app运营的每个阶段,所安排的服务器台数和负责的功能都是不一样的.那么如何在有限的成 ...

  2. 直播平台开发,防止直播过程中被截屏或录屏

    直播平台开发,防止直播过程中被截屏或录屏 Activity创建时设置WindowManager.LayoutParams.FLAG_SECURE属性,该属性能防止屏幕被截图和录制.以下为修复代码示例: ...

  3. 如何让不精通电脑的你用很少的价钱大幅度提高你的电脑速度?(手把手装固态+装系统教程,适用于电脑有光驱位且没有装固态的童鞋,文末有自己安装过程中经验QA)

    如何让不精通电脑的你用很少的价钱大幅度提高你的电脑速度?(手把手装固态+装系统教程,适用于电脑有光驱位且没有装固态的童鞋,文末有自己安装过程中经验Q&A) 1.场景再现(可跳过): ----- ...

  4. ionic开发ios app

    注意必须是mac系统 1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即 ...

  5. 记录开发移动端项目过程中的各种问题、插件及教程(不定时更新)

    本文为整理记录本人开发移动端项目的过程中,针对项目中业务需求所碰到的各种坑.用到的各种插件及教程整理?. 以下为教程整理: 1.再聊移动端页面的适配_Layout, 布局, mobile, CSS 教 ...

  6. linux时间界面返回,Android开发教程:游戏过程中按Home键后返回游戏界面

    症状:游戏过程中,按下Home键返回手机主菜单,再点击游戏图标试图返回游戏的时候屏幕黑的一片! 以前一直没在意只有结束线程在运行游戏,今天觉得改仔细琢磨一下这个问题了! 首先第一件事:打印Logo看看 ...

  7. 下发布可执行文件_IOS APP 发布过程中涉及相关概念

    AppID(应用 ID) AppID 是识别不同应用程序的唯一标志符,每个 app 都需要一个 App ID 或者 app 标识.目前有两种类型的 App 标识:一个是精确的 App ID(expli ...

  8. mac系统ionic开发ios app从安装到打包

    各种安装 下载xcode 在打包时必需,可以去app store里搜索xcode,或者去找网盘或镜像 ant 模拟和打包  *ant依赖JRE,所以还得安装java运行时,可以使用brew searc ...

  9. 解密所有APP运行过程中的内部逻辑

    1. 前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越不靠谱了,apktool.ApkIDE.jd GUI.dex2jar等等等等已经无法满足大家的 ...

最新文章

  1. MongoDB命令及SQL语法对比
  2. sql算术运算符_SQL中的算术运算符
  3. 华为手机显示解析服务器返回错误,ajax服务器返回错误
  4. xxx is not mapped 错误 解决方案
  5. LuoguP2756 飞行员配对方案问题(最大流)
  6. 组态软件基础知识概述
  7. Ehcache 3.7文档—基础篇—XML Configuration
  8. 关于司法行政管理系统
  9. 透视投影的原理和实现
  10. 7月1日天刀服务器维护,天涯明月刀7月1日满级新服_天刀满级新服天命风流入君怀_3DM网游...
  11. win10打开计算机加载很慢,解析为何win10系统中我的电脑打开速度很慢
  12. 工业互联网体系架构、类型及应用
  13. html插入动态背景,HTML 动态背景
  14. 基于HBase的大数据存储在京东的应用场景
  15. 年轻人租房大数据报告(人群画像).pdf
  16. WebGIS开发入门
  17. 机器学习面试题之逻辑回归(二)
  18. caffe源码分析--SyncedMemory 内存管理机制
  19. 毫米和像素怎么换算_C#中毫米与像素的换算方法
  20. 检测和识别机动车驾驶证信息OCR

热门文章

  1. metawrap宏基因组数据处理流程(亲测有用)
  2. 弹性盒模型实现两栏布局
  3. windows下CMake fdk-aac
  4. 【面试题】类似国际象棋的棋子移动实现
  5. 竣达技术丨设备云监控管理平台
  6. BUUCTF--[GXYCTF2019]BabySQli详解
  7. 2020土建方向-通用基础(施工员)考试题及土建方向-通用基础(施工员)考试题库
  8. SpringMvc菜鸟详解
  9. 干货:构建完美虚拟实验室的五大技巧
  10. ios越狱工具linux版下载,适配iOS11~13.5及全系设备:最新越狱工具发布下载、附教程...