ionic2+問題集錦(持續(xù)更新)

1.打包后無樣式(多在加prod打包后):

此類情況多出現(xiàn)在用淘寶鏡像cnpm進(jìn)行下載依賴所引起,嘗試刪除本地node_modules,開啟vpn,重新npm install(切記不要用cnpm,如果沒有vpnvpn推薦,30 ,50一年,本人一直在用,挺好的)。

2.升級為3.X版本后,使用懶加載,在自己代碼沒問題的情況下,老是報一些找不到module的錯誤
Cannot find module '../pages/tabs/tabs.module' 

解決方法同上。

3.用storage進(jìn)行本地存儲時拿不到值

storage操作是異步的,嘗試在頁面的構(gòu)造器里去操作storage,then方法里去取值。

4.2個ion-datetime在同一個item里時,點擊都觸發(fā)的問題:

在此頁面的scss文件里加

 ion-datetime {
    position: relative;
  }
5.改變popover的寬度等
.popover名字 .popover-content{
  width: XXX;
}

6.改變導(dǎo)航欄顏色

在variables.scss里加$toolbar-ios-background:XXX

7.部分手機(jī)運(yùn)行,list橫線不顯示問題

在variables.scss里加

$hairlines-width: 1px;
$list-border-color: #e0dfe4;
8.真機(jī)本地圖片不顯示問題

圖片路徑從assets開始

9.ion-searchbar按鍵盤搜索鍵觸發(fā)

(ionInput)方法改為(search)

10.一些觸發(fā)事件

ion-selection-toggleionChange
ion-tabionSelect

11.添加插件時報cordova-fetch等錯誤

一般是cordova版本7.0以上出現(xiàn),嘗試命令行加--nofetch試試,或者cordova版本降到6.5.0版本

12.添加android 平臺時報錯找不到Api.js

解決辦法同上,cordova 退回6.5.0版本

13.一些退出登錄或者修改密碼后需重新跳轉(zhuǎn)至LoginPage的情況

this.app.getRootNav().setRoot('LoginPage');

14 在build ios 時報錯
Error: Error code 65 for command: xcodebuild with args: -......

或者:
2 duplicate symbols for architecture ...
嘗試remove ios platform ,重新add,如果還是不行,
刪除cordova-plugin-console插件再試

15 新建項目打包報錯

類似
這是因為file插件升級后不支持cordova-android@6.1.2
可以升級或者裝file插件的低版本(4.3.3版本可用)

16 ionic項目頁面增多,代碼量大的時候打包報錯FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

打開node_modules/.bin/ionic-app-scripts.cmd
將內(nèi)容替換為:

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\..\@ionic\app-scripts\bin\ionic-app-scripts.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=4096  "%~dp0\..\@ionic\app-scripts\bin\ionic-app-scripts.js" %*
)

來源

后經(jīng)測試,發(fā)現(xiàn)還是不行,目前解決辦法是 升級node和npm

18年5月23日更新:

后來發(fā)現(xiàn)一種更好的處理方式,輕易可以解決:
package.json里加上

  "config": {
    "ionic_source_map_type": "cheap-source-map"
  }

來源,duydao的回答

17 File Opener插件在android8以上打不開apk

在config.xml里加上

 <platform name="android">
        <config-file parent="/manifest" target="AndroidManifest.xml" xmlns:android="http://schemas.android.com/apk/res/android">
            <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
        </config-file>
    </platform>

來源

后經(jīng)測試發(fā)現(xiàn)另一個問題,在targetSdkVersion設(shè)置為23以上版本時,會報錯 exposed beyond app through Intent.getData()

解決方法:把targetSdkVersion設(shè)置為23,另一種方法改動較大
來源
方法2(未經(jīng)測試)

18年5月11日更新:

后來發(fā)現(xiàn)解決報錯 exposed beyond app through Intent.getData()的最優(yōu)解決辦法,由于github的代碼作者沒有及時更新代碼至npm,其實最新版的插件已經(jīng)解決了這個問題,用命令cordova plugin add https://github.com/pwlin/cordova-plugin-file-opener2.git添加插件,不要用ionic官網(wǎng)和github上的ionic cordova plugin add cordova-plugin-file-opener2的命令,添加完插件后打包,發(fā)現(xiàn)又報另外一個代碼的錯誤

image.png

如圖,問題出在Build.VERSION.CODE.N上,解決這個,先在github上下載插件到本地,然后手動修改FileOpener2.java文件的第110行,將Build.VERSION.CODE.N改為數(shù)字24,然后添加本地的修改后的插件,ionic cordova plugin add 本地插件目錄,最后重新打包,問題解決。

18 改變ion-item的高度

min-height屬性

19 自定義頁面返回事件

(1)導(dǎo)航欄的返回按鈕
在html頁面: <ion-navbar #navbar> </ion-navbar>
在ts:

import {ViewChild } from '@angular/core';

@ViewChild('navbar') navBar: Navbar;

  ionViewDidEnter() {
    let me = this;
    me.navBar.backButtonClick = () => {
                .....
    };
  }

(2)android實體按鍵的返回

import { Platform } from 'ionic-angular';

 unregister:any; 

public platform: Platform,

    //構(gòu)造函數(shù)中:在此頁面單獨控制android實體返回按鍵
 this.unregister=this.platform.registerBackButtonAction(() => {
    
    }, 2);

 ionViewWillLeave() {
    let me = this;
    //移除實體返回按鍵監(jiān)聽
    me.unregister();
  }
20 新建ionic項目報錯

一般是報錯什么ECONNRESET什么utils第多少多少行
解決方法:是網(wǎng)絡(luò)原因(具體我也不知道),用4G網(wǎng)絡(luò),可以手機(jī)開熱點

21 alert等彈出框阻止關(guān)閉

return false

22用moment.js指定時間賦值給ion-datetime,時間差8小時的問題
  • 可以直接用moment().format();
  • 可以moment().format("YYYY-MM-DDTHH:mm:ss"); 加個T
23 獲取app store 上已發(fā)布app 的版本

中國區(qū)域:http://itunes.apple.com/cn/lookup?id=xxx

24 解決Xcode10 library not found for -lstdc++ 找不到問題

解決方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容