小程序:通过getCurrentPages获取当前页面路由信息

背景

通过 getCurrentPages() 函数我们可以获取到当前页面路由信息,但是获取到的是一个路由栈,包含你跳转的所有路由。如下:
比如我从A页面跳到B页面,就会有两条路由数据,0就是A页面,1就是B页面。
在这里插入图片描述
如果我们只想看当前路由怎么办呢,可以简单封装一下。

实践

这里我封装了两个函数
miniTools.js

/* 获取当前页url */
export const getCurrentPageUrl = () => {
    
    
  //eslint-disable-next-line
  const pages = getCurrentPages()    // 获取加载的页面
  const currentPage = pages[pages.length - 1]    // 获取当前页面的对象
  const url = currentPage.route    // 当前页面url
  return url
}

/* 获取当前页带参数的url */
export const getCurrentPageUrlWithArgs = () => {
    
    
  //eslint-disable-next-line
  const pages = getCurrentPages()    // 获取加载的页面
  const currentPage = pages[pages.length - 1]    // 获取当前页面的对象
  const url = currentPage.route    // 当前页面url
  const options = currentPage.options    // 如果要获取url中所带的参数可以查看options

  // 拼接url的参数
  let urlWithArgs = url + '?'
  for (const key in options) {
    
    
    const value = options[key]
    urlWithArgs += key + '=' + value + '&'
  }
  urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)

  return urlWithArgs
}

效果

直接在开发者工具运行就能看到效果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43972437/article/details/125186961