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

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

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

3.uni-app在作動態組件渲染的時候可能會對高度,偏移,定位不友好,可是用px單位就不會有問題,感受緣由是在打包的時候upx單位不會編譯成pxweb

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

不知道什麼緣由,多是官方想讓你老老實實的引組件吧,掃描文件以下,作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私有倉庫的,可是下載完依賴後瀏覽器不會出現問題,手機會出現找不到依賴的問題xcode

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

 7.頁面之間的傳值方式有不少種:  a.放在全局好比vue的原型中或者globalData中  b.頁面跳轉經過路徑拼接參數  c.放在本地存儲中,可是,我的推薦放在地址中拼接,這樣的好處是在作分享的時候能夠直接將參數代入,若是放在全局比較佔內存,放在本地存儲分享後另外一端並無信息app

 8.因爲小程序的限制,uni-app作完後體積可能很大,這樣打包成小程序後可能編譯失敗,建議精簡功能。socket

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

 10.在app發佈的時候使用雲打包後將apk上傳到應用商店會提示app的等級過低,須要設置成大於26,咱們能夠適用Android Studio本地打包,ios適用xcode

相關文章
相關標籤/搜索