当前位置: 首页 > news >正文

上海网站建设哪企业建站用什么好

上海网站建设哪,企业建站用什么好,服务好的武进网站建设,网站主页 优帮云一、五种跳转方式 1.wx.navigateTo() 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面 通常推荐使用 wx.navigateTo进行跳转,以便返回原页面,以提高加载速度 wx.navigateTo({url: })2.wx.redirectTo() 关闭当前页面&#x…

一、五种跳转方式

1.wx.navigateTo()

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面

通常推荐使用 wx.navigateTo进行跳转,以便返回原页面,以提高加载速度

wx.navigateTo({url: ''
})

2.wx.redirectTo()

关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面

wx.redirectTo({url: ''
})

3.wx.reLaunch()

关闭所有页面,打开到应用内的某个页面

wx.reLaunch()与 wx.redirectTo()的用途基本相同, 只是 wx.reLaunch()先关闭了内存中所有保留的页面,再跳转到目标页面

wx.reLanch({url: ''
})

4.wx.switchTab()

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

对于跳转到 tabBar 的页面,最好选择 wx.switchTab(),它会先关闭所有非 tabBar 的页面。其次,也可以选择 wx.reLaunch(),它也能实现从非 tabBar 跳转到 tabBar,或在 tabBar 间跳转,效果等同 wx.switchTab()。使用其他跳转 API 来跳转到 tabBar,则会跳转失败

wx.switchTab({url: ''
})

5.wx.navigateBack

关闭当前页面,返回上一页面或多级页面。可通过getCurrentPages 获取当前的页面栈,决定需要返回几层

这个 API 需要填写的参数只有 delta,表示要返回的页面数。若 delta 的取值大于现有可返回页面数时,则返回到用户进入小程序的第一个页面。当不填写 delta 的值时,就默认其为 1(注意,默认并非取 0),即返回上一页面


wx.navigateBack({delta: 1
})

二、跳转问题汇总(不定时更新)

微信小程序路由跳转有个隐藏的坑,就是 wx.navigateTo打开新页面,最多只能打开10个,超过10个之后就没反应,控制台也不会报错。

方案一:简单粗暴navigateTo不行,用redirectTo

小程序路由跳转的方式有五种,分别是wx.navigateTo(打开新页面,新页面入栈)、wx.redirectTo(重定向,当前页面出栈,新页面入栈)、wx.navigateBack(返回,页面不断出栈,直到目标返回页)、wx.switchTab(切换tab页面,页面全部出栈,只留下新的 Tab 页面)、wx.reLaunch(页面全部出栈,只留下新的页面)由此产生了第一种方式,当页面栈超过 10 时,直接用redirectTo。但这样太粗暴了,显然很多场景是需要保留访问过的页面的,由此有了方案一的升级版。

方案一升级版:根据页面栈决定当前跳转方式

每次跳转先去页面栈中查找目标页面是否已经访问过,如果访问过则用wx.navigateBack返回,如果没有访问过则判断页面栈中是否已经有10个页面,有则用wx.redirectTo,没有则navigateTo

class RouteMap {constructor(opt={}) {this.MAX_DEEP = opt.MAX_DEEP || 10this.IS_AUTO_BACK = opt.IS_AUTO_BACK || truethis.PAGE_STACk = getCurrentPages()}_findPageInHistory(path) {const { PAGE_STACk } = thislet delta = -1for (let i = 0; i < PAGE_STACk.length; i++) {if (PAGE_STACk[i].route === path) {delta = i + 1 // 目标页在栈中的位置break}}return delta}_dataToUrlQuery(data={}) {let query = '?';const prop in data) {if (data.hasOwnProperty(prop)) {const value = data[prop];query += `${prop}=${value}&`}}return query.replace(/&$/,'');}goPage(opt) {if (!opt) return new Error('缺少参数')if (opt && !opt.path) '缺少跳转目标path')const pageStackLen = PAGE_STACk.lengthlet { path,data } = optlet delta = this._findPageInHistory(path)path = '/' + path.replace(/^\//,0);">'') + this._dataToUrlQuery(data)if (delta > -1 && this.IS_AUTO_BACK) {// 如果有目标页已经是被访问过的const backPage = PAGE_STACk[pageStackLen - delta]backPage.setData({data});wx.navigateBack({delta: pageStackLen - delta})} else {if (pageStackLen < this.MAX_DEEP) {wx.navigateTo({url: path})} else {wx.redirectTo({url: path})}}}}module.exports = RouteMap

但是这样依然有问题,页面传参数变得无法统一,而且明明是前进页面,用户使用的时候很可能看着就是返回了几个页面。

方案二:在小程序页面栈之外维护多一个自己的逻辑栈

详细细节见该博客

http://www.hkea.cn/news/784525/

相关文章:

  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台
  • b2c网站综合对比评价站长统计幸福宝
  • 网站建设意见做推广app赚钱的项目
  • 哈尔滨营销网站制作做外贸推广
  • 深圳网站建设外贸公司排名搜索热词排名
  • 网络科技公司招聘可靠吗seo多久可以学会
  • 企业网站建设的方案ppt网络营销的特点主要包括什么
  • 如何自行建设网站推广关键词优化
  • 建设学院网站百度收录关键词查询
  • 有关外贸的网站有哪些内容武汉抖音seo搜索
  • 娄底网站建设的话术深圳网站关键词排名优化
  • 福田大型商城网站建设seo营销方法
  • 网站开发专业就业指导企业网站设计与实现论文
  • 网络营销方式的思维导图seo关键词优化系统
  • wordpress访客ip记录福清市百度seo
  • 网站下载速度慢互联网广告推广公司
  • 电影网站空间配置网络营销的工具和方法有哪些
  • 包装设计网站免费百度seo搜索引擎优化厂家
  • 免费做公司网站sem对seo的影响有哪些
  • 网站空间购买费用关键词优化计划
  • 网站制作可以卖多少钱陕西网站建设制作
  • 深圳中小企业网站制作谷歌海外广告投放