快應(yīng)用踩坑
-
css的坑一大堆
- 很多屬性不能用,只能用
flex
布局,position
幾乎不能用,只能在html
結(jié)構(gòu)修改stack
來達(dá)到定位 -
px
是自適應(yīng)的,沒有em
,em
,支持百分比 - 其他超多的屬性都不支持
- 很多屬性不能用,只能用
-
文本只能在
text
和label
標(biāo)簽中,否則不顯示- 且這兩個(gè)標(biāo)簽不能有嵌套
-
圖片是
image
標(biāo)簽- 一般最好用網(wǎng)絡(luò)圖片,因?yàn)榭鞈?yīng)用要求包最大為
1M
- 一般最好用網(wǎng)絡(luò)圖片,因?yàn)榭鞈?yīng)用要求包最大為
-
background
- 不能連寫
接口的
content-type
不能是application/javascript
-
華為加載器 和 廠商聯(lián)盟的有區(qū)別,有超多的坑
- 有很多接口在廠商聯(lián)盟上使用沒問題,在華為加載器上不行
- 華為渲染機(jī)制更嚴(yán)格,很多聯(lián)盟可以的操作在華為上報(bào)錯(cuò)
-
tabs
的滾動會有bug
,內(nèi)容沒有超出也可以滾動- 在用
tabs
的時(shí)候,tab-content
里面的list
高度自動識別錯(cuò)誤,不是父元素的高度,設(shè)置height: 100%
也沒用 - 所以當(dāng)內(nèi)容很少的時(shí)候依然可以滾動
- 解決辦法是自己用
div
寫tabs
,不用其tabs
組件
- 在用
-
切換類名改變樣式的時(shí)候,類名必須是目標(biāo)元素上,不然沒效果
- 可能是偶現(xiàn),在某些場景下
-
for
循環(huán)的value
和index
位置與vue
相反- 習(xí)慣了
vue
的寫法,在這里得改變了
- 習(xí)慣了
-
list-item
的問題- 有
type
屬性,且是必填的,相同type
的必須要有相同的結(jié)構(gòu) - 因?yàn)樯弦粭l,所以
list-item
里面不能用if
, 最好用show
代替 - 在循環(huán)渲染
list-item
的時(shí)候,里面不要再for
循環(huán),會很慢,甚至影響后面東西的加載
- 有
-
show
只能用true
和false
- 如果是非布爾值的變量,先轉(zhuǎn)換成布爾值,不然沒效果
-
input 標(biāo)簽沒有失焦(blur)事件
- 在我的一個(gè)項(xiàng)目中,返回一個(gè)有input標(biāo)簽的頁面,它自動觸發(fā)了該input的focus事件
- 且在聯(lián)盟引擎上是部分情況如此(同一個(gè)頁面),在華為加載器上是全部會觸發(fā)
-
有時(shí)候接口會莫名其妙的報(bào)錯(cuò),甚至是接口數(shù)據(jù)已經(jīng)返回了還是報(bào)錯(cuò)
- 用
setTimeout
,200ms
都行,很多莫名其妙的問題都可以解決
- 用
-
渲染接口返回的數(shù)據(jù)報(bào)錯(cuò)
- 在華為加載器上更明顯
- 例如接口返回了
userInfo: {name: 'zhangsan'}
- 在頁面上
<text if="{{userInfo && userInfo.name}}">{{userInfo.name || ' '}}</text>
- 上面會報(bào)錯(cuò),
- 然后
<text if="{{userInfo && userInfo.name}}">{{userInfo ? userInfo.name : ' '}}</text>
也會報(bào)錯(cuò) - 最終
<text if="{{userInfo && userInfo.name}}">{{userInfo ?( userInfo.name || ' ') : ' '}}</text>
- 終于不報(bào)錯(cuò)了
-
各廠商的卡片
- 首先各廠商的卡片的規(guī)則不完善,有的廠商都沒有在線文檔
- 各廠商的卡片在mainifest.json中的位置有沖突,字段也不一樣,沒能夠統(tǒng)一
- oppo卡片調(diào)試只能將包放到手機(jī)專門的目錄,麻煩