使用ionic2开发的一些问题及对策

这边记录一下ionic2开始遇到的一些问题

1.闭包函数及页面赋值的处理方法

ionic2推荐使用的是argularjs2中的promise,then的处理方法,最好的情况是把自己的异步方法全部写成这种形式,使用这种方法可以轻易的使用this.属性对页面的属性进行赋值,然后通过arjularjs的双向绑定在页面展示。然而不熟悉这种写法如果直接使用js异步方法或者函数中含有其它闭包函数调用会导致this.属性取不到页面的属性,对策是在主方法调用的时候写一句var that=this;到js的其它异步回调方法中使用that.属性进行操作。

2.页面刷新的处理

通过ionic2新建的页面文件,只含有ionDidView()方法,这其中的方法只在页面第一次加载的时候执行,如果页面使用push操作到子页面退回,那么母页面的这里面的方法就不会再执行。ionViewWillEnter()是每次到这个页面都会执行的方法,不论是push还是pop操作都会出发这个方法。ionViewDidLeave()是每次离开这个页面都会执行的方法。

3.使用ionic loading组件

一般需求是请求后台前调用loading方法,请求成功后dismiss loading,然而在加入dismissOnPageChange: true这个参数之后,若是执行页面的跳转操作(setRoot,push),会报Uncaught promise error,

需要将回掉方法现在loading的回掉函数中,或者是弹出一个alert窗口写在alert的回调函数中。

4.使不使用jquery

只要项目中引入jquery的ts声明的文件,index加入jquery的js文件就可以在项目中引用jquery,然而需要注意的是,如果使用jquery的选择器进行赋值等操作的时候,因为ionic2将每个push页面都放在了一个页面下,选择器也会把push之前的全部母页面选择到。

5.declarations.d.ts文件

在src文件夹下的declarations.d.ts文件,可以定义公共的声明,例如declare var BMap;,那么在index引用百度地图之后,就可以在每个页面直接使用BMap调用baidu地图的方法,同样自己写的一些js公共方法,可以在这个文件中声明。

其它的以后再写


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值