ionic1-angular填坑(持续更新)

由于浏览器都有同源加载策略,不能加载不同域下的文件、也不能使用不合要求的协议比如file进行访问。

在angularJs中为了避免安全漏洞,一些ng-src或者ng-include都会进行安全校验,因此常常会遇到一个iframe中的ng-src无法使用。

在angular中使用iframe时,iframe的ng-src属性中的url地址需要用angular中的$sce服务(即strict contextual escaping)把一些地址变成安全的、授权的链接。

常用的方法有:

$sce.trustAs(type,name);

$sce.trustAsHtml(value);

$sce.trustAsUrl(value);

$sce.trustAsResourceUrl(value);

$sce.trustAsJs(value);

ionic周期函数以及回调函数

1.$ ionicView.loaded  视图已经被加载了,这个事件只发生一次,视图被创建并且被添加到DOM中,当视图跳出后并被缓存的话,再次访问这个视图这个事件将不会被激活。Loaded事件是个好方式让你为这个视图设置你的代码; 然而,他并不是我们推荐的事件去监听视图被激活。

2.$ ionicView.enter   进入视图并被激活。这事件被激活来判断这个视图是第一个加载还是被缓存了的。

3.$ ionicView.leave  离开这个视图并且不是活动页面。调用这个事件判断应该被缓存还是摧毁。

4.$ionicView.beforeEnter   视图是即将进入并成为活动视图。

5.$ionicView.beforeLeave  视图将被关闭并且不是活动页面。

6.$ionicView.afterEnter  进入视图并是当前的活动页面

7.$ionicView.afterLeave  已经离开视图,并成为非激活页面

8.$ionicView.unloaded  视图的Controller已经被摧毁并且他的页面元素也从Dom中移除

周期函数的回调函数还可以判断当前视图是进入的还是返回回来的,举个栗子:

$scope.$on('$ionicView.beforeEnter', function (e,v) {

  if(v.direction=='back'){

    return;

  }

上面的e表示时间对象,v则是ionic周期函数的回调函数的参数(我个人猜测),我打印了一下这个v

结果如下:


打印回调函数参数 v 的结果

显然是个对象,而我最关心的就是 direction属性,正如上面代码中的使用,“back”表示当前视图是返回回来的。

注意:如果你打印v.direction的话,无论是进入的还是返回回来的都显示back,我也不知道为什么,但是你用v.direction=='back'判断却可以判断是进入还是返回回来的。很诧异

angular.bind(self,fn,args)

作用:返回一个新的函数,新函数的this指向self

self:新函数的上下文对象

fn:待绑定的函数

args:传递给新函数的参数

返回值:this指向self的新函数

注意:bind会根据你的参数类型来决定调用call或apply,所以args可以是一个个数据,也可以是一个数组哦。

$ionicPlatform.ready(function(){})

用在run方法里面,表示设备准备就绪。

$ionicConfigProvider的所有方法

views.transition(transition/string)

设置视图之间的过渡切换效果,默认是platform,可选值如下:

   platform: 根据平台动态选择相应的过渡效果,如果不是android或者ios,则默认是ios.

   ios: iOS过渡效果.

   android: Android过渡效果.

   none: 无过渡效果.

views.maxCache(maxNumber/number)

设置DOM中缓存的最大视图数目,如果超过限制,则移除最长时 间没有显示的视图。DOM缓存中的视图会缓存scope和当前状态以及滚动的位置。缓存中的scope并不在 $watch 监听生命周期中,当视图重新显示的时候,会重新进入 $watch。如果 maximum cache 设置为 0, 离开的view会被立即从dom中移除, 下次再显示这个view的时候, 就会重新编译, 附加到dom上, 重新绑定到对应的元素.相当于是禁用缓存.

views.forwardCache(value/boolean)

默认情况下,最近访问的视图会被缓存,当导航回到某个已经访问过 的视图的时候,相同实例的数据和dom元素会被重新引用到。然而,当回退到上一个视图的时候,刚刚前进的视图会被清除掉,如果你再次前进到这个视图,就会 创建一个新的DOM节点元素和控制器实例。基本上任何一个前进访问的视图每次都会被重置。这个设置选项中设置为true的时候就会缓存前进的视图,而且每次加载的时候不会重置。

backButton.icon(value/string)

设置返回按钮的图标。

backButton.text(value/string)

设置返回按钮的文字。

backButton.previousTitleText(value/boolean)

设置是否将上一个view视图的title设置成返回按钮的文字,iOS是默认的true。

form.checkbox(value/string)

设置Checkbox的样式. Android 默认是方形square,iOS 默认是圆形circle.

form.toggle(value/string)

设置Toggle元素的样式. Android默认是small,iOS默认是large.

spinner.icon(value/string)

设置默认的spinner图标。可以是: android, ios, ios-small, bubbles, circles, crescent, dots, lines, ripple, or spiral.

tabs.style(value/string)

设置tab的样式。 Android 默认是striped and iOS 默认是standard。可选的值是striped and standard.

tabs.position(value/string)

设置Tab的位置. Android tab的位置默认在顶部,iOS 默认是在底部.可选的值是 top 和 bottom.

navBar.alignTitle(value)

设置导航条的标题的对其方式。 默认是center。可选值如下:

platform: 根据平台动态选择标题的样式,ios默认显示为center,android默认是left,如果不是ios或android,则默认显示center。

left: 导航条标题显示在左边

center: 导航条标题显示在中间

right: 导航条标题显示在右边

navBar.positionPrimaryButtons(value/string)

设置导航条中主导航按钮的对其位置,默认是 left.

platform: 根据平台动态选择标题的样式,ios默认显示为left,android默认是right,如果不是ios或android,则默认显示left。

left: Left align the primary navBar buttons in the navBar

right: Right align the primary navBar buttons in the navBar.

scrolling.jsScrolling(value/boolean)

false :表示使用原声滚动 (和在每个 ion-content中设置overflow-scroll=’true’一样的效果。)

true: 使用ionic的滚动 即 icon-scroll

默认情况下,启动页是自动消失的,我们完成可以自己控制启动页何时消失,并加一些配置,让启动页消失的更平滑

首先,我们在config.xml里面加上这几项配置:


下面,我们在app.js里面控制启动页消失:


ionic IOS 侧边滑动 出现白屏的问题

ionic打包成IOS版本后会出现左侧边滑动白屏的现象,这个问题主要是由于cache导致的,由于IOS系统侧边滑动会调用返回前一个页面的功能,导致此问题的出现:

具体解决方案有以下两种方法:

1、配置ionicConfigProvider

$ionicConfigProvider.views.swipeBackEnabled(false)

2、设置ion-view

can-swipe-back=”false”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,827评论 25 707
  • ionic常用插件——日期选择 效果图如下: 4、js中的代码: ion-scroll 设置了隐藏横向滚动条无效 ...
    大巴纯爷们阅读 1,729评论 1 3
  • 从小就一直渴望有部自己的相机,可以记录下美好的景色。于是乎在可以有余钱的情况下买了部佳能,心里别说有多欢喜。趁着休...
    禾页子阅读 336评论 2 0
  • 南国的风吹过头顶,吹过小巷,吹过川流不息的街道,奔向太平洋。 再次提笔并不是一件容易的事,太久没有写作,久到快忘了...
    一打二十斤阅读 511评论 0 0