美文网首页
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