uniapp之使用总结

180 阅读1分钟

* 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'
});