zoukankan      html  css  js  c++  java
  • 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的时候会出现找不到该对象的情况

      更多前端资料关注【凤凰城下的小码农】免费领取

  • 相关阅读:
    java object bean 转map
    常用css
    mysql 生成max+1编号
    MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
    cookie记住账户密码
    session有效时间
    常用jstl
    高性能MySQL--innodb中事务的隔离级别与锁的关系
    mysql8.0.11的坑早知道
    git进阶--你可能不知道的很好用git功能
  • 原文地址:https://www.cnblogs.com/qisi007/p/10701510.html
Copyright © 2011-2022 走看看