最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue.js中實現(xiàn)登錄控制的方法示例

 更新時間:2018年04月23日 12:10:09   作者:土家稀哥  
這篇文章主要介紹了vue.js中實現(xiàn)登錄控制的方法,結(jié)合實例形式分析 vue.js操作登陸頁面流程控制相關(guān)實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了vue.js中實現(xiàn)登錄控制的方法。分享給大家供大家參考,具體如下:

vue中使用vue-router實現(xiàn)登錄的控制在做后臺管理系統(tǒng)中很常見,但是不想之前熟悉的流程那樣,不過只要大家理解vue-router的使用也是很好實現(xiàn)的。

首先我們需要編寫登錄頁面和主頁面:

<template>
 <div class="login">
  <table width="100%" height="100%">
   <tr height="41"><td class="logintb" colspan="2"> </td></tr>
   <tr height="100%" class="loginbg">
    <td id="left_cont">
     <table width="100%" height="100%">
      <tr height="155"><td colspan="2"> </td></tr>
      <tr>
       <td width="20%" rowspan="2"> </td>
       <td width="60%">
        <table width="100%">
          <tr height="70"><td align="right"></td></tr>
          <tr height="274">
            <td valign="top" align="right">
              <img src="../../static/images/logo.png"/>
             </img/>
            </td>
          </tr>
        </table>
       </td>
       <td width="15%" rowspan="2"> </td>
      </tr>
      <tr><td colspan="2"> </td></tr>
     </table>
    </td>
    <td id="right_cont">
     <table height="100%">
      <tr height="30%"><td colspan="3"> </td></tr>
      <tr>
       <td width="30%" rowspan="5"> </td>
       <td valign="top" id="form">
          <table valign="top" width="50%">
            <tr><td colspan="2"><h4 style="letter-spacing:1px;font-size:16px;">管理后臺</h4></td></tr>
            <tr><td>管理員:</td><td><input type="text" v-model.trim="username" value="" /></td></tr>
            <tr><td>密  碼:</td><td><input type="password" v-model.trim="pwd" value="" /></td></tr>
            <!-- <tr><td>驗證碼:</td><td><input type="text" name="" value="" style="width:80px;"/></td></tr> -->
            <tr class="bt" align="center"><td> <input type="submit" @click="login" value="登陸" /></td><td> </td></tr>
          </table>
       </td>
       <td rowspan="5"> </td>
      </tr>
      <tr><td colspan="3"> </td></tr>
     </table>
    </td>
   </tr>
   <tr id="login_bot"><td colspan="2"><p>Copyright © 2017-{{getNowDate()}} Tujiawang</p></td></tr>
  </table>
 </div>
</template>
<script>
 import axios from 'axios'
 axios.defaults.withCredentials = true
 export default{
  data(){
   return {
    username:'',
    pwd:''
   }
  },
  methods: {
   login() {
    var params = new URLSearchParams();
    params.append('username', this.username);
    params.append('password', this.pwd);
    axios.post(this.HOST+'/home/system/login',params).then(res => {
      if(res.data.code ==1){
       sessionStorage.username = this.username;
       this.$router.push({path:'/main'})
      }else{
       alert('登錄失敗')
      }
    })
   },
   getNowDate(){
    var d = new Date();
    return d.getFullYear();
   }
  }
 }
</script>

上面的登錄頁面注意:login方法中登錄成功需要寫入sessionStorage以便路由進行判斷

最主要的是路由文件中的內(nèi)容:

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const routes = [
  {
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    name: 'login',
    component: (resolve)=>{require(['../components/Login'],resolve)}
  },
  {
    path: '/main',
    name: 'main',
    component: (resolve)=>{require(['../components/Home'],resolve)},
    redirect: 'main/info',
    children: [{
        path: 'info',
        meta: {
          id:-1
        },
        component: (resolve)=>{require(['../components/Main'],resolve)}
      }
    ]
  },
  {
    path: '/vips',
    name: 'vips',
    component: (resolve)=>{require(['../components/Home'],resolve)},
    redirect: 'vips/list',
    children: [{
        path: 'list',
        meta: {
          id:0
        },
        component: (resolve)=>{require(['../components/VipsList'],resolve)}
      },
      {
        path: 'detail',
        meta: {
          id:0
        },
        component: (resolve)=>{require(['../components/VipsDetail'],resolve)}
      },
      {
        path: 'userlog',
        meta: {
          id:0
        },
        component: (resolve)=>{require(['../components/UserLog'],resolve)}
      }
    ]
  }
];
const router = new Router({
  routes
});
/**
 * to:表示目標路由
 * from:表示來源路由
 * next:表示執(zhí)行下一步操作
 */
router.beforeEach((to, from, next) => {
  if (to.path === '/login') { // 當(dāng)路由為login時就直接下一步操作
    next();
  } else { // 否則就需要判斷
    if(sessionStorage.username){ // 如果有用戶名就進行下一步操作
     next()
    }else{
     next({path: '/login'}) // 沒有用戶名就跳轉(zhuǎn)到login頁面
    }
  }
})
export default router

目前這個只是簡單的處理,這種方法官方叫做路由守衛(wèi),還有一種寫法就是在meta中添加是否需要登錄的控制,在beforeEach中來判斷,和上面方法一樣的。

希望本文所述對大家vue.js程序設(shè)計有所幫助。

相關(guān)文章

  • Element實現(xiàn)表格嵌套、多個表格共用一個表頭的方法

    Element實現(xiàn)表格嵌套、多個表格共用一個表頭的方法

    這篇文章主要介紹了Element實現(xiàn)表格嵌套、多個表格共用一個表頭的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 快速掌握Vue Router使用方法

    快速掌握Vue Router使用方法

    Vue Router是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,讓構(gòu)建單頁面應(yīng)用變得易如反掌。路由實際上就是可以理解為指向,就是我在頁面上點擊一個按鈕需要跳轉(zhuǎn)到對應(yīng)的頁面,這就是路由跳轉(zhuǎn)
    2023-01-01
  • 在vue-cli搭建的項目中增加后臺mock接口的方法

    在vue-cli搭建的項目中增加后臺mock接口的方法

    這篇文章主要介紹了在vue-cli搭建的項目中增加后臺mock接口的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue監(jiān)聽路由變化時watch方法會執(zhí)行多次的原因及解決

    vue監(jiān)聽路由變化時watch方法會執(zhí)行多次的原因及解決

    這篇文章主要介紹了vue監(jiān)聽路由變化時watch方法會執(zhí)行多次的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-04-04
  • vue組件(全局,局部,動態(tài)加載組件)

    vue組件(全局,局部,動態(tài)加載組件)

    組件是Vue.js最強大的功能之一。組件可以擴展HTML元素,封裝可重用的代碼。這篇文章主要介紹了vue組件(全局,局部,動態(tài)加載組件),需要的朋友可以參考下
    2018-09-09
  • Vue中的組件詳談

    Vue中的組件詳談

    這篇文章主要介紹了Vue的組件,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • vue的傳參方式匯總和router使用技巧

    vue的傳參方式匯總和router使用技巧

    這篇文章主要介紹了vue的傳參方式和router使用技巧,本文給大家列舉了好幾種傳參方式,需要的朋友可以參考下
    2018-05-05
  • Vue系列之Element?UI表單自定義校驗規(guī)則

    Vue系列之Element?UI表單自定義校驗規(guī)則

    表單校驗是注冊環(huán)節(jié)中必不可少的操作,表單校驗可以提醒用戶填寫數(shù)據(jù)規(guī)則以確保用戶提交數(shù)據(jù)的效性,也可以防止用戶因誤操作而占用服務(wù)器資源,這篇文章主要給大家介紹了關(guān)于Vue系列之Element?UI表單自定義校驗規(guī)則的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • vue動態(tài)生成新表單并且添加驗證校驗規(guī)則方式

    vue動態(tài)生成新表單并且添加驗證校驗規(guī)則方式

    這篇文章主要介紹了vue動態(tài)生成新表單并且添加驗證校驗規(guī)則方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue2中使用sass并配置全局的sass樣式變量的方法

    vue2中使用sass并配置全局的sass樣式變量的方法

    這篇文章主要介紹了vue2中使用sass并配置全局的sass樣式變量的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09

最新評論

大厂| 洛川县| 内丘县| 雷州市| 徐汇区| 深水埗区| 阳曲县| 衢州市| 措勤县| 宁津县| 武乡县| 教育| 东明县| 吉首市| 万州区| 康平县| 芜湖县| 奈曼旗| 西昌市| 江孜县| 嵩明县| 宁陕县| 延寿县| 平顶山市| 海原县| 巩义市| 黄浦区| 读书| 鹤庆县| 锡林郭勒盟| 色达县| 岳普湖县| 台北市| 浮梁县| 彰武县| 浦北县| 民权县| 环江| 内黄县| 嘉义县| 吉林省|