Skip to content

router

页面跳转

属性名说明类型
tabs底部导航object[]
routes路由列表object[]
query跳转参数(地址栏)object
params跳转参数(缓存)object
pages自定义页面路径object
currentPage当前页面信息function
path当前路由路径string
info当前路由信息function
push路由跳转function
back后退function
callMethod执行当前页面的某个方法function
isFirstPage页面栈长度是否只有 1function
isCurrentPage是否当前页function
home回到首页function
switchTab跳转 Tab 页function
isTab是否是 Tab 页function
login去登陆function
nextLogin登录成功后操作function
------

使用

  • 方式一
ts
import { router } from "/@/cool";
  • 方式二
ts
import { useCool } from "/@/cool";
const { router } = useCool();

push

ts
router.push("/pages/goods/list");
ts
router.push({
  path: "/pages/goods/detail",
  query: {
    id: 1,
  },
});

router.query(); // { id }
ts
router.push({
  path: "/pages/goods/detail",
  params: {
    data: {},
  },
});

router.params(); // { data }

callMethod

执行当前页面的某个方法。

如:监听消息并刷新页面,直接触发页面的 refresh 方法,而不是在每个页面加事件监听

html
<template>
  <text>Demo</text>
</template>

<script setup>
  function refresh(params) {}

  defineExpose({
    refresh,
  });
</script>
ts
router.callMethod("refresh", { page: 1 });

isTab

检测是否 Tab 页面,返回 boolean

ts
router.isTab("/pages/index/home");

nextLogin

跳转到重定向登录前的页面,并触发 afterLogin 事件

ts
router.nextLogin();