uni-app——想說愛你不容易之踩坑系列


 

1.uni-app不支持動態組件,目前在用v-if判斷,或者用scroll-view切換,沒有想到什么其他的辦法

2.uni-app不支持具名插槽,會導致頁面塌陷

3.uni-app在做動態樣式渲染的時候可能會對高度,偏移,定位不友好,但是用px單位就不會有問題,感覺原因是在打包的時候upx單位不會編譯成px

4.平常我們再寫vue項目的時候會寫一個掃描文件,為的就是不用每個組件都去引用那么多組件,但是我在做uni-app的時候瀏覽器運行是沒問題的,但是在安卓手機上並不支持,我打印了一下,確實是掃出來了,但是並沒有加載成功,

不知道什么原因,可能是官方想讓你老老實實的引組件吧,掃描文件如下,做vue項目的時候還是能用上的,很簡單,如下:

const components = [];
// 掃描到前文件夾下的.vue文件
const pages_path = require.context('./',true,/\.vue$/);
// 遍歷
pages_path.keys().forEach(item => {
    let path = pages_path(item)
    // 截取字符串
    path.default.name = item.split('/').pop().replace(/\.vue$/, '')
    components.push(path)
})
// 組件初始化
const install = function (Vue) {
    components.map(el => {
        let name = el.default.name
        Vue.component(name, el.default)
    })
}
// 導出組件
module.exports = {
    install
}

 5. uni-app是支持npm私有倉庫的,但是下載完依賴后瀏覽器不會出現問題,手機會出現找不到依賴的問題

 6.uni-app支持簡單的樣式綁定,綁定的值只能是字符串,不支持復雜的綁定比如  :class="{class-a,class-b: true}"和  :class="[class-a,class-b]"這種是不支持的(手機端)

 7.頁面之間的傳值方式有很多種:  a.放在全局比如vue的原型中或者globalData中  b.頁面跳轉通過路徑拼接參數  c.放在本地存儲中,但是,個人推薦放在地址中拼接,這樣的好處是在做分享的時候可以直接將參數代入,如果放在全局比較占內存,放在本地存儲分享后另一端並沒有信息

 8.由於小程序的限制(4M),uni-app做完后體積可能很大,這樣打包成小程序后可能編譯失敗,建議精簡功能。

 9. 在使用webview時我們可能需要子頁面向uni-app發送消息,官方給了@message,但是這個只是在特定的情境下適用,比如刷新,跳轉,銷毀,可以適用socket(雖然不太優雅,但是我也沒有想到什么辦法,因為用了好多方法都不行)

 10.在app發布的時候使用雲打包后將apk上傳到應用商店會提示app的等級太低,需要設置成大於26,我們可以適用Android Studio本地打包,ios適用xcode

 11.uni-app打包成app后沒有document和window對象

 12.分享小程序ios版本需要在分享小程序的api中設置scene: "WXSceneSession",

 13. iphone手機有右滑返回功能,但是此功能和uni.navigateBack()並不一樣,所以不能調取返回的api

 14. 一般我們在組件中使用v-if時會使用過度transition,但是打包成APP后並沒有過渡效果,H5有

 15. 如果組件中綁定類似value這種,比如綁定值,如果綁定空字符串,會報錯,類似 ‘$gwm.....’這種

 16. 如果使用v-model這種綁定,后邊的值不能是方法,比如 <span :data="func"></span>,func是一個方法return一個字符串,並不支持

 17. 使用絕對定位距離底部多少像素,app是相對於底部導航欄上方,而H5是相當於屏幕底部上方

 18. 差值中不支持使用太復雜的語法

 19. 在做iphone X適配的時候,可能需要用js檢測一下劉海的高度或者手機型號是不是iPhone X,但是在手機上並不能檢測到

 20. uni-app內置地圖組件

繪制內容是官方說可以使用地圖結合<cover-view>,但是<cover-view>並不支持經緯度,而且使用plus的時候會出現找不到該對象的情況

 

  更多前端資料關注【東八區的大閘蟹】免費領取


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM