Meteor.userId()在浏览器刷新时丢失

时间:2019-12-31 02:32:04

标签: javascript vue.js meteor meteor-accounts

我使用Meteor.userId()检查用户是否已登录。当用户未登录(Meteor.userId()为null)和用户登录(Meteor.userId()不为null)时,如果用户已登录并且浏览器已刷新Meteor,则此方法效果很好。 userId()丢失。

社区有哪些建议可以跟踪用户是否已登录?如果用户已登录并且浏览器已刷新,是否应该将用户重定向到登录页面?用户登录后是否应该将Meteor.userId()保留在本地存储中(我认为它不起作用)?

更新1: MainNavBar在对App.vue的方法调用中显示用户是否基于Meteor.userId()登录。

MainNavBar.vue

<li class="nav-item d-xl-block" v-if="(this.$root.currentUserId==null)">
            <router-link class="nav-link" v-bind:to="{ name: 'register' }">Register</router-link>
          </li>
          <li class="nav-item d-xl-block" v-else>
            <a class="nav-link" href='' data-cy="logout" v-on:click="Logout()">Log out</a>
          </li>

App.vue:

<script>
import { mapGetters } from 'vuex';
import { Meteor } from 'meteor/meteor';
export default 
{
  computed: {
    ...mapGetters('layout', ['showCart',]),
  },
  meteor: 
  {
    currentUserId()
    {
      return Meteor.userId();
    },
  },
}
</script>

0 个答案:

没有答案