vue-router设置404失败

做一个多页面项目,一般会加一个404页面。

问题

router中设置匹配404规则,但是没有生效

new Router({
	mode: 'history',
	routes: [{
		path: '/',
		name: 'layout',
		component: Layout,
		redirect: '/home',
		children: [{
				path: '/home',
				component: Home,
				name: 'home'
			}]
    }]
  }, {
		path: '*',
		component: 404,
	}]
});
this.$router.push({
	name: 'number111',
});

分析

没有效果可能没设置成这样

{
	path: '*',
	name: '*',
	component: 404,
}

尝试之后,发现没有解决,那应该是使用路由守卫了

Routes.beforeEach((to, from, next) => {
  if (to.matched.length !== 0) {
    next()
  } else {
    next({ path: '/404' })
  }
});

建议

  • 不使用路由守卫,建议路由跳转不使用name
  • 使用路由守卫处理404
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值