填一填用了半個月 ionic 遇到的坑

2021-09-19 11:02:44 字數 2881 閱讀 1351

這篇沒什麼東西可扯,基本是 q&a 形式。不定時更新,不用 ionic 了就不更新。。。

a:encodeuri("包含霸氣的中文檔名的 uri")

q:應用需要儲存較大量資料,原始格式是 json ,存 sqlite 資料庫嫌麻煩。

a:lokijs ,類 mongodb 的 js 記憶體資料庫,配合為 ionic 打造的外掛程式做持久化儲存。

q:不同 android 手機上出現字型錯位之類的奇怪問題。

a:使用 crosswalk 消除不同安卓機上 webview 的差別,順便還能提公升應用效能。

q:在實機上使用 livereload 功能時出現空白、連線失敗等情況。

a:實機上的 livereload 本質是用手機訪問電腦上的**,檢查手機和電腦之間的網路連線是否通暢。

q:gitignore 預設排除了 plugins 資料夾,團隊其他人 clone 了專案後缺少外掛程式,乙個乙個裝太麻煩。

a:ionic platform add/remove ***以及ionic plugin add/remove ***的時候,ionic cli 都在 package.json 中儲存了專案的狀態。clone 完後可以使用ionic state restore命令快速恢復

q:在 ionic(angularjs) 中使用 cordova 外掛程式有那麼點點不方便。

a:ionic 的 ngcordova 專案為70多個流行的 cordova 外掛程式提供了 angularjs 包裝,足以應付絕大多數需求。

q:在**檢視 ionic 帶的所有圖示?

a:

q:ionic platform add ***時卡住

a:掛 vpn ,或者丟著睡一覺(不確定是不是網路原因,就遇過兩次沒深究)

q:tel:***xxsms:******mailto:******geo:******一類的鏈結不能喚起其他應用。

a:在 config.xml 中加入:

q:跟上 q 一樣,加了還 tm 不行!

a:再在 config.xml 中加入:

a:兩個系統策略不一樣, android 中有這個需求簡單的辦法是參考該頁中的 android 檔案系統布局,把檔案從 private 目錄複製到 public 目錄下再做操作。

q:對 android 進行遠端除錯。

a:開啟 chrome ,位址列輸入chrome://inspect

q:對 ios 進行遠端除錯

a:開啟 safari -> 開發 -> 手機名 -> 應用名

q:ionic 的 modal 是什麼鬼?不能給它設定狀態麼?!

a:超級弱逼的模態框,因為 uirouter 的限制,給它轉狀態非常不方便。確定只需要乙個頁面就能完成的操作才用他。下一 q 提供個解決辦法。

q:替代 modal 的方案

a:$state.go前記錄下當前的 view ,然後禁止下乙個 view 記錄 backview ,就不會顯示後退按鈕( android 硬體後退也不行 )。在需要關閉時,後來加入導航棧的任意 view 中設定 backview 為記錄下來的 view ,然後 back 。

// go 的時候

var backhistoryid = $ionichistory.currenthistoryid();

var backviewid = $ionichistory.currentview().viewid;

$ionichistory.nextviewoptions();

$state.go('my-awesome-modal', );

// back 的時候

var backhistoryid = $ionichistory.currenthistoryid();

var backview = $ionichistory.viewhistory().histories[backhistoryid].stack.filter(function (v) )[0];

$ionichistory.backview(backview);

$ionichistory.goback();

q:ionic serve或在實機除錯時開啟了 livereload 功能時的跨域問題

a:

簡單的方法就是用實機除錯且不開 livereload 。

複雜點的比如設定 ionic 自帶的**伺服器,參考鏈結。需要詳細了解這個問題也可以看一遍。

學前段半個月的一些心得(二)

標籤的分類 行級標籤特性 1.幾乎所有的字型標籤都屬於行級標籤。2.行級標籤不會換行,給它設寬高沒用,智慧型由內容撐開,與生俱來無寬高。例如 a span標籤等 塊級標籤特性 1.會換行的,可設定寬高。例如 div p h1 h6等 行內塊級標籤 可以設定寬高,但不會換行。例如 input img等...

學前段半個月的一些心得(三)

選擇器 important選擇器 優先順序最高的選擇器。id選擇器 id 每個標籤都可以設定唯一的id,使用id選擇器就只能針對這個id對你所用的標籤設定相同的id。class選擇器 類選擇器 class 可以供多個標籤使用,只要是需要相同的樣式就可以在對應的標籤上設定類名class相同的名即可。標...

學前段半個月的一些心得(四)

當在同乙個盒子中使用多個相同的標籤時,又不想命名太多的類,則可以使用 conter r four p nth of type 2 這個代表的是.conter r four類中的第二個p標籤,指定必須是p標籤 conter r four p nth child 2 定位 相對定位 position r...