* uniapp生命周期
page页面的生命周期:使用小程序原来的生命周期
//页面初始化,接收上一个页面跳转的参数,会执行在onLoad之前
onInit() { //适用百度小程序
console.log('----------页面初始化1');
},
//页面初始化,接收上一个页面跳转的参数
onLoad(value) {
//vlaue接受上个页面传过来的参数
console.log('----------页面初始化2',value);
},
//页面显示
onShow() {
console.log('----------显示页面');
},
//页面dom加载完毕
onReady() {
console.log('----------页面初次渲染完成');
},
//离开或关闭
onHide() {
console.log('----------页面隐藏');
},
//
onUnload() {
console.log('----------页面删除');
},
//
onPullDownRefresh() {
console.log('----------拉头部');
},
//
onReachBottom() {
console.log('----------拉到最底部');
},
//
onShareAppMessage() {
console.log('----------只监听点击分享按钮');
},
components 组件里的生命周期
beforeCreate() {
},
created() {
},
beforeMount() {
},
mounted() {
},
beforeUpdate() {
},
updated() {
},
beforeDestroy() {
},
destroyed() {
}
* 路由跳转
1、navigateTo 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
uni.navigateTo({
//如果参数是对象需要用JSON.stringify转换
url: `/pages/houseinfo/houseinfo?id=${this.data.id}`,
})
* 本地存储
同步与异步存储
异步
uni.setStorage 存储数据
uni.getStorage 获取数据
uni.getStorageInfo 获取所有存储数据
uni.removeStorage 移除数据
uni.clearStorage() 清除数据
* 踩坑记录
1、隔开ios底部安全条 全局隔开可以写在app.vue
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom)
2、b页面navigateBack返回a页面携带参数,a页面监听值
b页面
let pages = getCurrentPages()
console.log(pages);
let prevPage = pages[pages.length - 2]; // 上一页面实例
// 需要返回 上一页的数据 Object
let object = {
name: name,
};
prevPage.$vm.prevDateFun(object) // 调用上一页 定义的方法
uni.navigateBack()
a页面
prevDateFun(obj) {
this.address = obj.name
}
3、onLoad 事件
所有的tabBar页面 onLoad加载只会触发一次,然后隐藏起来,下次进来触发onShow事件
* 常用api
1、每个页面的标题自定义
uni.setNavigationBarTitle({
title: this.hotArticleinfo.title
})
2、小程序拨打电话
uni.makePhoneCall({
phoneNumber: '187xxxx4553'
});