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傳入數據
今天分享的內容就這麽多,希望能夠幫到大家,稍後小編會繼續更新
IonIc 技術總結與整理