美文网首页
v-if实现导航栏登录和未登录状态的切换

v-if实现导航栏登录和未登录状态的切换

作者: 念_ae7b | 来源:发表于2018-11-01 17:49 被阅读0次

了解一下通过v-if语句来实现状态栏的切换

首先我们来看一下简书登录和未登录状态下导航栏的变化

  • 未登录状态


    未登录状态
  • 登录状态


    登录状态

我们用判断token是否为空的方式来判定是否有用户登录,主要是根据是否存在loginUser对象来显示不同导航栏

 export default {
    data() {
      return {
        email: '',
        password: ''
      }
    },
    methods: {
      onClick() {
        var that = this;
        this.$http
          .post('http://localhost:8080/sys/list', {"email": this.email, "password": this.password})
          .then(function (response) {
            alert(JSON.stringify(response.data.data.list));
            localStorage.setItem("loginUser", JSON.stringify(response.data.data.list))
            that.$router.push("/")
          })
      }
    }

如果LoginUser存在

   data() {
      return {
        user: JSON.parse(localStorage.getItem('loginUser')),
        personList: []
      }
    },

user !=null时显示信息

  <b-nav-item v-if="user!=null">
          <router-link to="/">发现</router-link>
        </b-nav-item>
        <b-nav-item v-if="user!=null">
          <router-link to="/subscriptions">关注</router-link>
        </b-nav-item>
        <b-nav-item v-if="user!=null">
          <router-link to="/notifications"><a>消息</a></router-link>
        </b-nav-item>

如果LoginUser不存在

user==null

  <b-nav-item href="#" >Aa</b-nav-item>
        <b-nav-item href="#" v-if="user===null"><router-link to="/sign_in">登录</router-link> </b-nav-item>
        <b-nav-item href="#"v-if="user===null"><router-link to="/sign_up">注册</router-link> </b-nav-item>
        <b-nav-item-dropdown right v-if="user!=null">

相关文章

网友评论

      本文标题:v-if实现导航栏登录和未登录状态的切换

      本文链接:https://www.haomeiwen.com/subject/plnxxqtx.html