uniapp uni-simple-router中原生tabbar用法

序言:

罪过罪过写了1年多的uni 现在才知道这个东西,可以隐藏原先uni 土土的那种跳转链接名,刚入手就遇到难题,引入uni-simple-router后 tabbar 无法跳转,找了很多篇文档也没解决,可能是我理解有问题,现在给出源码希望对大家有所帮助。

一、安装 uni-simple-router

npm install uni-simple-router@1.5.5

官网地址:https://hhyang.cn/src/router/start/quickstart.html

二、引用uni-simple-router

引用文件:main.js 中

import router from './router'
import { RouterMount } from 'uni-simple-router'

//v1.3.5起 H5端 你应该去除原有的app.$mount();使用路由自带的渲染方式
// #ifdef H5
	RouterMount(app,'#app');
// #endif

// #ifndef H5
	app.$mount(); //为了兼容小程序及app端必须这样写才有效果
// #endif

三、文件结构(入官网毕竟刚开始接触)

router
    |--modules
    	|--home.js
    	|--user.js
    |   |--index.js
    |--index.js

注:我多添加了两home.js 和 user.js 也就是两个tabbar 首页和个人中心

文件目录:router/modules/home.js

const home = [
	{
        //注意:path必须跟pages.json中的地址对应,最前面别忘了加'/'哦
      path: '/pages/index/index',
      aliasPath:'/',  //对于h5端你必须在首页加上aliasPath并设置为/
      name: 'index',
        meta: {
	        title: '首页',
	    },
    }
]
export default home

文件目录:router/modules/user.js

const user = [
	{
        //注意:path必须跟pages.json中的地址对应,最前面别忘了加'/'哦
      path: '/pages/user/user',
      aliasPath:'/user',  //对于h5端你必须在首页加上aliasPath并设置为/
      name: 'user',
        meta: {
	        title: '我的',
	    },
    }
]
export default user

文件目录:router/modules/index.js

// router/modules/index.js
const files = require.context('.', false, /\.js$/)
const modules = []

files.keys().forEach(key => {
  if (key === './index.js') return
  const item = files(key).default
  modules.push(...item)
})

export default modules

关键来了别眨眼,最外层index.js

文件目录:router/index.js

// router/index.js

import modules from './modules'
import Vue from 'vue'
//这里仅示范npm安装方式的引入,其它方式引入请看最上面【安装】部分
import Router from 'uni-simple-router'

Vue.use(Router)

const whitelist = {     //声明了一个白名单
    '/pages/index/index': 'index', // 冒号后面的 index 要对应 自己设置的 name,否则无法跳转
    '/pages/user/user': 'user',
}

//初始化
const router = new Router({
    routes: [
		...modules,
		{
			aliasPath:'/404',
			path: '/pages/test/404',
			name:'404'
		},
		{
			path: '*',
			name: 'moddle',
			redirect:to=>{
				const name = whitelist[to.path];
				if(name){
					return {name}
				};
				return {name:'404'}
			}
		}
	]//路由表
	
});

//全局路由前置守卫
router.beforeEach((to, from, next) => {
	console.log(to)
	next()
})
// 全局路由后置守卫
router.afterEach((to, from) => {
})
export default router;

以上代码 复制一遍即可运行,page.json中 的路径还是原来那样一样定义,我就不多说了。

别问我是谁,我只是大自然搬运工中的一员。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uni-simple-router是一个在uniapp使用的路由管理插件。你可以在系统工程router文件(如:src/router/index.js)加入routerErrorEach监听来实现路由守卫。该插件提供了丰富的功能,可以拦截路由跳转、处理错误、控制路由锁定状态等。通过配置vue.config.js和安装uni-simple-router插件,你可以在uniapp使用路由守卫。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [uniapp 引入 uni-simple-router 后造成 android 真机 物理返回键 退出应用的功能缺失的解决方式](https://blog.csdn.net/WangYanWenXin/article/details/131441264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [uniapp路由—— uni-simple-router](https://blog.csdn.net/weixin_66556453/article/details/125530649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [uni-simple-router实现简单的路由守卫](https://download.csdn.net/download/qq_25447009/85195058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值