使用ionic开发移动app的过程中经验总结
最近在使用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的过程中经验总结相关推荐
- 制作好的app需要服务器吗,在直播app制作过程中,服务器是如何配置的?
不论是一对多直播还是一对一直播app制作,关于服务器的配置和成本是大多数运营商比较关心和头疼的问题.一般来说,在直播app运营的每个阶段,所安排的服务器台数和负责的功能都是不一样的.那么如何在有限的成 ...
- 直播平台开发,防止直播过程中被截屏或录屏
直播平台开发,防止直播过程中被截屏或录屏 Activity创建时设置WindowManager.LayoutParams.FLAG_SECURE属性,该属性能防止屏幕被截图和录制.以下为修复代码示例: ...
- 如何让不精通电脑的你用很少的价钱大幅度提高你的电脑速度?(手把手装固态+装系统教程,适用于电脑有光驱位且没有装固态的童鞋,文末有自己安装过程中经验QA)
如何让不精通电脑的你用很少的价钱大幅度提高你的电脑速度?(手把手装固态+装系统教程,适用于电脑有光驱位且没有装固态的童鞋,文末有自己安装过程中经验Q&A) 1.场景再现(可跳过): ----- ...
- ionic开发ios app
注意必须是mac系统 1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即 ...
- 记录开发移动端项目过程中的各种问题、插件及教程(不定时更新)
本文为整理记录本人开发移动端项目的过程中,针对项目中业务需求所碰到的各种坑.用到的各种插件及教程整理?. 以下为教程整理: 1.再聊移动端页面的适配_Layout, 布局, mobile, CSS 教 ...
- linux时间界面返回,Android开发教程:游戏过程中按Home键后返回游戏界面
症状:游戏过程中,按下Home键返回手机主菜单,再点击游戏图标试图返回游戏的时候屏幕黑的一片! 以前一直没在意只有结束线程在运行游戏,今天觉得改仔细琢磨一下这个问题了! 首先第一件事:打印Logo看看 ...
- 下发布可执行文件_IOS APP 发布过程中涉及相关概念
AppID(应用 ID) AppID 是识别不同应用程序的唯一标志符,每个 app 都需要一个 App ID 或者 app 标识.目前有两种类型的 App 标识:一个是精确的 App ID(expli ...
- mac系统ionic开发ios app从安装到打包
各种安装 下载xcode 在打包时必需,可以去app store里搜索xcode,或者去找网盘或镜像 ant 模拟和打包 *ant依赖JRE,所以还得安装java运行时,可以使用brew searc ...
- 解密所有APP运行过程中的内部逻辑
1. 前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越不靠谱了,apktool.ApkIDE.jd GUI.dex2jar等等等等已经无法满足大家的 ...
最新文章
- MongoDB命令及SQL语法对比
- sql算术运算符_SQL中的算术运算符
- 华为手机显示解析服务器返回错误,ajax服务器返回错误
- xxx is not mapped 错误 解决方案
- LuoguP2756 飞行员配对方案问题(最大流)
- 组态软件基础知识概述
- Ehcache 3.7文档—基础篇—XML Configuration
- 关于司法行政管理系统
- 透视投影的原理和实现
- 7月1日天刀服务器维护,天涯明月刀7月1日满级新服_天刀满级新服天命风流入君怀_3DM网游...
- win10打开计算机加载很慢,解析为何win10系统中我的电脑打开速度很慢
- 工业互联网体系架构、类型及应用
- html插入动态背景,HTML 动态背景
- 基于HBase的大数据存储在京东的应用场景
- 年轻人租房大数据报告(人群画像).pdf
- WebGIS开发入门
- 机器学习面试题之逻辑回归(二)
- caffe源码分析--SyncedMemory 内存管理机制
- 毫米和像素怎么换算_C#中毫米与像素的换算方法
- 检测和识别机动车驾驶证信息OCR
热门文章
- metawrap宏基因组数据处理流程(亲测有用)
- 弹性盒模型实现两栏布局
- windows下CMake fdk-aac
- 【面试题】类似国际象棋的棋子移动实现
- 竣达技术丨设备云监控管理平台
- BUUCTF--[GXYCTF2019]BabySQli详解
- 2020土建方向-通用基础(施工员)考试题及土建方向-通用基础(施工员)考试题库
- SpringMvc菜鸟详解
- 干货:构建完美虚拟实验室的五大技巧
- ios越狱工具linux版下载,适配iOS11~13.5及全系设备:最新越狱工具发布下载、附教程...