uni-app跳转(传参)+设置获取缓存

一、uni-app页面跳转,跳转传参,参数过长处理

官方API: uni-app官网

1、uni.navigateTo 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

注意:页面跳转再back回来的时候,触发单页onShow,页面不重载,可保持原页状态。

例:uni.navigateTo({ url: '/pages/adult/inConsent' }) 
    
    对应url是在pages.json中配置的路由。

2、uni.redirectTo 关闭当前页面,跳转到应用内的某个页面。

 注意:用法同上;重定向后原页将关闭,再去进去触发单页onLoad,页面重载。

3、uni.switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

注意:由tabBar切换跳转的页面,要回该页必须使用uni.switchTab,使用uni.navigateBack无效。

例:uni.switchTab({ url: '/pages/adult/adultInfo' })
    
    对应url是在pages.json中配置的路由。

4、跳转传参:短参使用类似get的传参方法;长参使用encodeURIComponent。

短参:
// 跳转传参
uni.navigateTo({ url: '/pages/practice/randomPractice?id=1&name=uniapp' })

// 页面onLoad接受参数
export default {
    onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
        console.log(option.id); //打印出上个页面传递的参数。
        console.log(option.name); //打印出上个页面传递的参数。
    }
}

长参:
// 浏览视频
const video = {
    nam: item.nam,
    url: url,
    img: item.cover != null ? (this.$global.FileUrl + item.cover) : '',
    id: item.id
}
// 跳转传参
uni.navigateTo({
    url: '/pages/search/playVideo?video=' + encodeURIComponent(JSON.stringify(video))
})

// 页面onLoad接受参数
onLoad(option) {
    // 获取视频信息
    const video = JSON.parse(decodeURIComponent(option.video))
    this.title = video.nam
    this.url = video.url
    this.img = video.img
    // 设置小程序页面标题 为视频标题
    uni.setNavigationBarTitle({ title: this.title })
}

二、uni-app设置获取缓存

官方API:uni-app官网

1、首先移动端与浏览器不同,不存在cookie/session,移动端只有实体缓存localstorage

2、同步设置获取缓存(实体)的API:
        设置 uni.setStorageSync(KEY,DATA)
        获取 uni.getStorageSync(KEY)

uni.setStorageSync('storage_key', 'hello');
uni.setStorageSync('zone', { updateTime: new Date(), zoneTree: zoneTree })

uni.getStorageSync('storage_key') // 获取的是字符串
uni.getStorageSync('zone') // 获取的是map对象

你可能感兴趣的:(vue.js,前端,javascript)