接觸快應用也有一段時間了,踩過了大大小小的坑,讓我活到了今天。準備在此立貼持續更新,記錄遇到的問題以及解決方案,造福大眾。
css 方面
1、文字豎排不支援
目前官方還不支援writing-mode,除了等待官方支援這個api以外,還可以使用一種hack手段:給元素設定一個比較小的寬度。
2、text-align: center;居中無效
由於快應用預設是flex佈局,所以居中的話應當使用justify-content: center;
template 方面
1、使用了list元件之後整個頁面都不能滾動了
list元件需要加上“scrollpage=true”。https://doc.quickapp.cn/widge…
2、list 元件滑動無故閃退– 很抱歉, “快應用” 已停止執行。
很可能是你的list-item 裡面用了不同的檔案結構導致的
<list-item>
<div if={{item.img}}>
<image src=`{{item.img}}`>
</div>
<div else>
<text>{{item.text}}</text>
</div>
</list-item>
相同的type的list-item必須具備完全一致的DOM結構, 上例的list-item 的dom結構是會改變的,理應使用兩個不同的type 的list-item才行
<list-item type="img" if={{item.img}}>
<div>
<image src=`{{item.img}}`>
</div>
</list-item>
<list type="text" else>
<div>
<text>{{item.text}}</text>
</div>
</list-item>
3、richtext 插入的html片段,無法更改樣式?有時候圖片還超出螢幕的邊緣
由於官方沒有介面對richtext的樣式作修改,目前可以有的一種辦法就是使用正則搜尋匹配,然後加樣式在需要的地方
4、list元件有時候會無法渲染
解決這個問題可是花了我不少時間吶。這個是快應用已知的一個bug。
當list用在第三層的時候就會有這個無法渲染的問題。
<template>
<div>
<div>
<list>
...
</list>
</div>
</div>
</template>
解決方案: 改成div,或者不要放在第三層。
js 方面
1、storage.get 在success中設定變數沒反應
var a;
storage.get({
key: `a`,
success: function (data) {
a = data;
}
})
console.log(a) //undefined
原因是storage是非同步的。
其他
1、如何達到全屏的效果
在配置檔案manifest.json 中設定display,”fullScreen”: false, 可以隱藏電量訊號的手機狀態列;”titleBar”: false; 可以隱藏titleBar。這樣子就全屏了。
2、工程升級以後,background-image變成白色背景了
background-image 使用了相對路徑,工程對相對路徑的處理有點bug;暫時改成絕對路徑就好了
3、windows 安裝完找不到hap 命令
這個多半是npm 安裝目錄沒有配置環境變數的問題。
npm prefix -g
// 會列印一個出一個路徑,將它新增進系統變數中
// 再次執行
npm install -g hap-toolkit