taro-rfcs icon indicating copy to clipboard operation
taro-rfcs copied to clipboard

基于 vue-router 路由守卫实现路由跳转

Open Airkro opened this issue 2 years ago • 1 comments

参考: https://router.vuejs.org/zh/guide/advanced/navigation-guards.html#全局前置守卫

一个自用的方法,能够使小程序代码接近H5原本的vue生态,仅供讨论:

import { createApp } from 'vue';

const App = createApp({});

export default App;
import { createRouter, createWebHistory } from 'vue-router';

const router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: '/pages/device/index',
      name: 'device',
    },
  ],
});

router.beforeEach((to) => {
  wx.navigateTo({ url: to.href });
  return false;
});

App.use(router);
import { useRouter } from 'vue-router';
const router = useRouter();

router.push({
    name: 'device',
    query: {
      serial: serialNumber,
    },
});

Airkro avatar Aug 23 '23 03:08 Airkro

翻遍 Taro 相关的文档,都没有提到这个方法,个人认为可以取代现有的路由库方案,但暂时没有精力整理成 RFC。如果这里不适合发这个,十分抱歉

Airkro avatar Aug 23 '23 03:08 Airkro