javascript - vue 路由器重定向失败
问题描述
路线:
import vQuestion from './components/visitor/vQuestion';
import login from './components/auth/login';
import register from './components/auth/register';
import forgot from './components/auth/forgot';
import Home from './components/Home';
import Question from './components/Question/Question';
import Answer from './components/Answer/Answer';
export const routes = [
{ path: '/', name: 'vQuestion', component: vQuestion },
{ path: '/register', name: 'register', component: register },
{ path: '/login', name: 'login', component: login },
{ path: '/forgot', name: 'forgot', component: forgot },
{ path: '/answer/:id', name: 'answer', component: Answer},
{ path: '/home', name: 'home', component: Home, meta: {requiresAuth: true}},
{ path: '/question', name:'question', component: Question, meta: {requiresAuth: true} },
];
我想设置回答是否看到任何已登录
<ul v-for="question in questions" v-bind:key="question.main" id="my-table">
<router-link class="" :to="{name:'answer', params: {id: question.main}}">
<p>{{question.title}}</p>
</router-link>
</ul>
但是没有登录的用户可以打开这个路径,登录后当用户点击这个链接时,时间路径没有被重定向
在 main.js 文件中
const router = new VueRouter({
mode: 'history',
routes
});
router.beforeEach((to,from,next) => {
const requiresAuth = to.matched.some(record => record.meta.requiresAuth);
const currentUser = firebase.auth().currentUser;
if(requiresAuth && !currentUser) next('/');
else if(!requiresAuth && currentUser) next('/home');
else next();
});
解决方案
推荐阅读
- git - 在 git rebase 中仅列出我们删除、我们添加、他们删除等的文件
- python - 对 MNIST 数字数据集进行分类的 4 层感知器神经网络无法正常工作
- javascript - 如果用户单击屏幕上的任意位置,如何关闭菜单?
- python - 如果超参数调整的影响很小,我该如何改进我的 XGBoost 模型?
- html - wordpress 中的 Html 响应式图像映射
- javascript - 从数组中删除未选择的项目
- spring-boot - 使用 apikey 进行 Spring Boot Swagger 身份验证
- angular - 角度单元测试不会初始化 ag-Grid
- ios - Xcode 签名错误
- r - ggplot地图填充渐变色