uni-app
创始人
2024-02-09 17:15:38
0
  1. 路由传参
uni.navigateTo({ url: `@/pages/me/name=${'James'}&age=${18}` })url有长度限制,太长的字符串会传递失败,并且不规则的字符格式也可能导致传递失败,
所以对于复杂参数建议使用encodeURI、decodeURI 进行转码处理,然后传递.
  1. 绝对路径
项目中文件,样式文件都建议使用@绝对路径
import add from '@/common/add.js'
@import url('@/common/uni.css') 
  1. 代码目录
    static下的目录,js文件不会被webpack编译,里面如果有es6的代码,不经过转换直接运行,在手机设备上会报错.
    所以less,scss等资源同样不要放在static目录下,建议这些公共的资源放在common目录下.

  2. 设置导航名

uni.setNavigationBarTitle({title: '......'
})
  1. 两列的布局可以使用 uni-grid 组件

  2. 文字左右横线 样式

第三方直接登录

  1. view标签自带一个点击属性 hover-class
.btn-active {opacity: 0.7;
}
  1. 背景图充满全屏
filter: blur(3px)  背景图片模糊度,数值越大越模糊
  1. v-for跟v-if 一起使用
    v-for循环跟v-if在同一个标签时,可以把v-for提出来用 block 标签进行包裹着循环
    这里如果用template标签,很可能会报错

  2. 文字悬浮在图片上
    外层定位,需要改成相对定位: position: relative;
    需要悬浮的文字需要设置成绝对定位: position: absolute;
    参考: https://www.bilibili.com/video/BV1NY4y1q7Cv/?p=37&spm_id_from=pageDriver&vd_source=03cb065581da9959d84a1d21186a3ddb

  3. 项目代码中配置代理

manifest.json源码视图中:
"h5":{"devServer":{"proxy":{"/douyu":{"target":"https://m.douyu.com","changeOrigin":true,"secure":true,"pathRewrite":{"^/douyu":""}}}}
}组件中:
data() {return {// 条件编译: uniapp开发的代码需要能够编译到 H5 APP 小程序 3种不同的平台, 不可避免的会有一些代码 针对某些平台有效的// 条件编译 利用特殊的格式, 让uniapp识别出代码是给哪个平台编写的// #ifndef H5url: 'https://m.douyu.com/api/room/list',// #endif// #ifdef H5// 此url地址是代理写法, 而代理写法是针对于浏览器的, 不适用于 手机端和小程序url: '/douyu/api/room/list',// #endif}
},
  1. 回到顶部

goToTop() {uni.pageScrollTo({scrollTop: 0,duration: 300,success: () => {this.showGoTop = false}})
}
  1. 超长文本,只显示两行,超出部门显示 …
.title {overflow: hidden;text-overflow: ellipsis;line-clamp: 2;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;
}
  1. 生命周期
    uni-app 生命周期分3类:
    (1) 应用级别: App.vue中
    (2) 页面级别: 模仿微信小程序(页面中也可以写Vue中的几个生命周期) https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle
    (3) 组件级别: Vue组件 https://uniapp.dcloud.net.cn/tutorial/page.html#componentlifecycle

  2. easycom组件规范, uniapp中直接搜easycom
    https://uniapp.dcloud.net.cn/component/#easycom%E7%BB%84%E4%BB%B6%E8%A7%84%E8%8C%83
    uni-app中要求小写的,eg:
    vue中组件名要求大驼峰命名,eg:

  3. Hbuilder x 中编辑代码
    安装插件prettier,设置保存自动格式化
    写代码时,没有弹出提示, alt + / 可以弹出代码提示
    clog 是console.log() 的快捷键

  4. 处理日期

const date = new Date(val)
const year = date.getFullYear()
const month = (date.getMonth()+1).toString().padStart(2,0)
const day = date.getDay().toString().padStart(2,0)
  1. 页面通信
    参考官网: https://uniapp.dcloud.net.cn/tutorial/page.html#%E9%A1%B5%E9%9D%A2%E9%80%9A%E8%AE%AF

  2. 条件注释实现跨端兼容

以 ifdef 开头,以#endif结尾
页面中:
...
JS中:
// #ifdef MP-WEIXIN...
// #endif样式文件中:
/* #ifdef MP-WEIXIN */...
/* #endif */
  1. 页面跳转
    (1)navigateTo, redirectTo 只能打开非 tabBar 页面。(redirectTo会销毁当前页面,再去跳转. navigateTo不会,并且跳转之后的页面有返回按钮)
    (2)switchTab 只能打开 tabBar 页面(会销毁已经打开过了的非 tabBar 页面)
    (3)reLaunch 可以打开任意页面
    页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar
    不能在 App.vue 里面进行页面跳转
    参考官网: https://uniapp.dcloud.net.cn/component/navigator.html#navigator
跳转至详情页(非tabBar页面)
跳转至联系我们页(tabBar页面)
跳转至详情页(非tabBar页面)


goDetail(){uni.navigateTo({url:'/pages/detail/detail?id=' + '123' + '&name=' + '哈哈'})
},
goContact(){uni.switchTab({url:'/pages/contact/contact'})
},
goDetailByRedirect(){uni.redirectTo({url:'/pages/detail/detail'})
}
  1. 应用生命周期函数
    onLaunch 当uni-app初始化完成时触发(全局只触发一次)
    onShow 当uni-app启动,或从后台进入前台显示
    onHide 当uni-app从前台进入后台
    onError 当uni-app报错时触发

  2. 接口请求
    header 中 content-type 默认为 application/json
    参考: Form Data 格式传参: https://www.jianshu.com/p/17f22797b52a
    解决了问题: jscn-app代码 ‘修改密码’ 功能,需要采用 Form Data 格式传参
    在request.js中,设置: config.header[‘Content-Type’] = ‘application/x-www-form-urlencoded’
    data不要用 JSON.stringify去转换,否则会把{}传到后台了.

  3. HBuilderX 每次提交代码git pull / git push 都需要输入账号密码
    解决办法: 在终端中输入 git config --global credential.helper store 即可
    参考了: https://blog.csdn.net/li22356/article/details/114024676

相关内容

热门资讯

长源东谷跌3.17%,成交额9... 7月2日,长源东谷跌3.17%,成交额9349.01万元,换手率1.19%,总市值78.15亿元。异...
宇环数控跌0.87%,成交额5... 7月2日,宇环数控跌0.87%,成交额5008.02万元,换手率2.49%,总市值30.21亿元。异...
天箭科技跌4.64%,成交额2... 7月2日,天箭科技跌4.64%,成交额2.99亿元,换手率11.06%,总市值48.41亿元。异动分...
新经典跌1.22%,成交额46... 7月2日,新经典跌1.22%,成交额4675.15万元,换手率1.62%,总市值28.75亿元。异动...
彤程新材跌0.92%,成交额2... 7月2日,彤程新材跌0.92%,成交额2.55亿元,换手率1.32%,总市值193.40亿元。异动分...
百傲化学跌4.87%,成交额3... 7月2日,百傲化学跌4.87%,成交额3.29亿元,换手率2.11%,总市值152.97亿元。异动分...
联瑞新材跌3.06%,成交额1... 7月2日,联瑞新材跌3.06%,成交额1.33亿元,换手率1.22%,总市值107.94亿元。异动分...
君实生物跌0.78%,成交额4... 7月2日,君实生物跌0.78%,成交额4.62亿元,换手率1.68%,总市值363.45亿元。异动分...
广州酒家跌0.38%,成交额2... 7月2日,广州酒家跌0.38%,成交额2711.53万元,换手率0.31%,总市值88.73亿元。异...
华盛昌跌0.25%,成交额79... 7月2日,华盛昌跌0.25%,成交额7941.73万元,换手率3.97%,总市值37.88亿元。异动...