【问题标题】:Firebase beforeeach() fires a lot of times (Vue app)Firebase beforeeach() 多次触发(Vue 应用程序)
【发布时间】:2019-04-17 09:52:19
【问题描述】:

我正在使用 Firebase 和 Vue js 构建帖子应用程序。我有一些问题: 我的路由器:

import Vue from 'vue'
import Router from 'vue-router'
import Dashboard from '@/components/Dashboard'
import Login from '@/components/Login'
import SignUp from '@/components/SingUp'
import RecentPosts from '@/components/RecentPosts';
import firebase from 'firebase'

Vue.use(Router)

let router = new Router({
  routes: [
   ...... some routes
    {
      path: '/recentPosts',
      name: 'RecentPosts',
      component: RecentPosts,
      meta:{
        requireAuth: true
      }
    }
  ]
})
router.beforeEach((to, from, next) => {
  let currentUser = firebase.auth().currentUser;
  let requiresAuth = to.matched.some(r => r.meta.requiresAuth);
  console.log("CURRENTUSER",currentUser);
  if(!currentUser && requiresAuth) {
    next('Login');
  }else if(currentUser && !requiresAuth) {
    next('Dashboard');
  }else if (currentUser && requiresAuth) {
    next();
  }else {
    next();
  }
});
export default router;

在我转到/recentPosts 之后,我的函数 beforeeach 触发了很多次,以至于它阻止了我的应用程序。 为什么我无法访问 /recentPosts ?我已经登录了用户,所以它应该可以解决我的溃败问题,但事实并非如此。

else if (currentUser && requiresAuth) {
    next();
}

它应该解析我的“/recentsposts”路线,但它不是

【问题讨论】:

    标签: javascript firebase vue.js firebase-authentication vue-router


    【解决方案1】:

    这可能是因为您在require(s) 处有错字:

        {
          path: '/recentPosts',
          name: 'RecentPosts',
          component: RecentPosts,
          meta:{
            requireAuth: true     // <- without "s" at the end of require
          }
        }
      ]
    })
    router.beforeEach((to, from, next) => {
      let currentUser = firebase.auth().currentUser;
      let requiresAuth = to.matched.some(r => r.meta.requiresAuth);   // <- with an "s" at the end of requires
    

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多