1.uni.navigateTo 无法跳转到页面
其他页面的跳转我们可以通过以下的命令来进行页面的跳转:
uni.navigateTo({
url: '/pages/notice/notice'
})
但是当我们将这个地址配置到tabBar以后我们就无法通过上述的方法来访问了,这时候我们需要使用以下的方法来进行页面的访问:
uni.switchTab({
url: '/pages/notice/notice'
})
2.支付宝小程序真机调试图片不显示 因为图片名字用了中文
3.uniapp pages.json条件编译 要加,不然报错
//#ifdef H5
,
...
//#endif
4.uniapp的坑 picker
<view class="goods-info-add fl-sw">
<view>运费模板:</view>
<view>
<picker mode="selector" :value="index3" :range-key="Name" :range="expressTemplate" @change="expressTemplateChange">
<view>{{expressTemplate[index3].Name}}</view>
</picker>
</view>
</view>
根据官方文档这看起来是一段很正常的写法,但这里会出现个问题
这里的选项直接是[object Object],只需要将rang-key中的字符串加上单引号即可。如下:
<view class="goods-info-add fl-sw">
<view>运费模板:</view>
<view>
<picker mode="selector" :value="index3" :range-key="'Name'" :range="expressTemplate" @change="expressTemplateChange">
<view>{{expressTemplate[index3].Name}}</view>
</picker>
</view>
</view>
这样就能正常显示了
5.uniapp路由传参
传递的时候传送是对象的话要用JSON.stringify转换 接收的时候再用JSON.parse转回来!
传递
//跳转去详情
goDetail(item,ind) {
console.log('item',item)
uni.navigateTo({
url: './ordersDetail?item=' + JSON.stringify(item)
})
}
接收
onLoad(option) {
console.log('option',option)
let item = JSON.parse(option.item)
console.log(item)
}
6.判断空对象
//option是对象
console.log(Object.keys(option).length == 0); // 为true是空对象
7.uni.onAppShow 监听应用切前台事件 从别的小程序跳转回来会携带参数,通过参数做操作
onLoad(option) {
uni.onAppShow((res) => {
console.log("onAppShow")
console.log(res)
if (res.referrerInfo.appId == "wx5931af4836330935" && res.referrerInfo.extraData.return_code == "SUCCESS"){
uni.showToast({
title:'签约成功',
icon:'success',
duration:1000
})
uni.switchTab({
url:'../../index/index'
})
}
})
},
8.关闭下拉刷新
onPullDownRefresh() {
this.showList()
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
9.支付宝获取小程序appid
const appIdRes = my.getAppIdSync();
console.log(appIdRes.appId);
10.uniapp动态获取小程序appid 支付宝不支持
const accountInfo = uni.getAccountInfoSync();
console.log(accountInfo.miniProgram.appId); // 小程序 appId
console.log(accountInfo.plugin.appId); // 插件 appId
console.log(accountInfo.plugin.version); // 插件版本号, 'a.b.c' 这样的形式
11.隐藏小房子
支付宝端在模拟器不起作用 在真机预览时可以生效
uni.hideHomeButton()//微信小程序支持
// #ifdef MP-ALIPAY
console.log("隐藏小房子")
if (my.canIUse('hideBackHome')) {
my.hideBackHome();
}
// #endif
12.请求头
application/x-www-form-urlencoded //比较简单的传参 用此方式 键值对
application/json //json字符串
header: {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
},