Ionic 3 的程式愈寫愈多,愈來愈複雜。
本來為了加快程式的載入速度,所以所有 Page 很早就全用 Lazy Load ,直至愈後面,Page 愈寫愈深,因此造成了一些問題要用很怪的手段解決,使用 Ionic 3.5.3 依舊一樣。
本來官方app-script 預設 generate page 是 Lazy Module,現在看到官方 app-script 改成預設為一般 Page, 故勸各位 Ionicer 還是依照官方的方式,用一般 Page。 待官方 ionic g page XXXPage 改為有 XXX.module.ts 的時候再用 Lazy Load Page
目前我發現的問題有:
1. Pipes :
可能會造成無法找到你建立的 pipe - 用 pipe module 解決,但依舊會有怪問題產生2. Deep Link:
步驟愈寫愈深,深度 page 會有 this.app.getRootNav() 為 null 現象以下 getActiveNav 時 _appRoot 為 null
App.prototype.getActiveNav = function () { var /** @type {?} / portal = this._appRoot._getPortal(__WEBPACK_IMPORTED_MODULE_2__app_constants__["b" / PORTAL_MODAL */]); if (portal.length() > 0) { return findTopNav(portal); } return findTopNav(this._rootNav || null); };
3. Cannot read property '_getPortal' of undefined
在 Lazy Page 上單純的 present 一個 alert 或 modal 就會產生 no root page, 沒 root page 內建 method 用到 getPortal 就會出錯。 主要也是由於 Root Nav Controller 無法找到 lazy page 造成。
亂修改 page 順序可解決,但非好方法
4. Ion-icon Auto Select 失效
深度 lazy page 會造成 ion-icon auto selection 失效<ion-icon name="add-circle"></ion-icon>
只能指定使用
<ion-icon ios="ios-add-circle" md="md-add-circle"></ion-icon>
但是回復成 normal page 則問題消失
預估是 page fail, 造成 paltform 也沒有執行到。純粹預想的,沒 debug in
<ion-icon name="add-circle"></ion-icon> <--- 無法顯示
<ion-icon name="ios-add-circle"></ion-icon> <--- 指定圖片才能顯示
故暫時均先回復成原先的 normal load page,直至官方預設為 Lazy Page 再來跟進,會節省很多不必要的時間浪費!除非是很單純的 Page, 例如:About Page, Q&A, Privacy....等
網誌管理員已經移除這則留言。
回覆刪除Emperor Casino - Shootercasino
回覆刪除Emperor Casino is your new online casino of choice for the chance to win 메리트 카지노 real money. septcasino With a 제왕카지노 unique game and a fantastic Welcome Bonus, you're sure to find something