vueDemo PartOne 登錄模塊 +iview

1.獲取登錄所需要的用戶名和密碼信息

所以采用v-model對用戶名和密碼進(jìn)行雙向綁定蒸辆。即可獲取用戶輸入的內(nèi)容,保存在loginData中闲坎,再進(jìn)行驗(yàn)證時和自定義的userMsg驗(yàn)證即可遂庄。
為了簡便操作都哭,這里的用戶信息沒有通過后臺獲取详民,只是在這里簡單的自定義了一個用戶對象田弥。即使在與后臺交互時涛酗,也是相差無幾的。

<Input type="text" v-model="loginData.user" placeholder="用戶名">
<Input type="password" v-model="loginData.password" placeholder="密碼">

//密碼信息
return {
        loginData: {
          user: '',
          password: '',
          switch: false
        },
        //默認(rèn)用戶密碼
        userMsg: {
          user: 'admin',
          password: '123456'
        }
      }
    }
2. 登錄操作

實(shí)現(xiàn)登錄便是點(diǎn)擊登錄按鈕,@click="handleSubmit(loginData)用v-on綁定了handleSubmit事件,執(zhí)行登錄驗(yàn)證以及頁面跳轉(zhuǎn)操作偷厦。

<Button type="primary" long size="large" @click="handleSubmit(loginData)">
    登錄
</Button>`

handleSubmit(data) {
   /******登錄驗(yàn)證等省略******/
   this.$router.push({path: '/main'});      //路由跳轉(zhuǎn)
}

//實(shí)現(xiàn)路由的跳轉(zhuǎn)還需要在我們的router文件中商叹,配置路由的路徑和相應(yīng)的組件名:
  routes: [
    {
      path: '/',    
      name: 'login',
      component: login
    },
    {
        path:'/main',
        name:'main',
        component:main
   }
  ]
  1. 結(jié)合localStorage的記住密碼
    localStorage的簡單使用方法:https://blog.csdn.net/mjzhang1993/article/details/70820868
<span slot="label" v-bind:class="{remember:loginData.switch}">記住密碼?</span>
<i-switch v-model="loginData.switch">
    <span slot="open">On</span>
    <span slot="close">Off</span>
</i-switch>

 handleSubmit(data) {
        //判斷用戶名密碼是否正確
if (this.loginData.user == this.userMsg.user && this.loginData.password == this.userMsg.password) {
  if (this.loginData.switch == true) {   //記住密碼
  localStorage.setItem('user', JSON.stringify(this.loginData));
  }
  else{
    localStorage.removeItem('user');
  }
  console.log(this.loginData);
   this.$store.commit('changeLoginStatus', this.loginData.user);
   this.$router.push({path: '/main'});
     }
   else {
      this.$Message.error('賬號或密碼輸入錯誤!');
   }
 }

這里的原理其實(shí)也非常容易理解只泼。對于這個switch的的按鈕剖笙,只負(fù)責(zé)數(shù)據(jù)的綁定。主要還是在于點(diǎn)擊登錄按鈕時所執(zhí)行的操作请唱。通過switch的狀態(tài)弥咪,根據(jù)不同情況處理數(shù)據(jù)。

  1. 當(dāng)我們選擇記住密碼后十绑,如果密碼輸入正確聚至,我們向localstorage傳遞我們的用戶信息這個對象,保存當(dāng)前用戶的賬號和密碼本橙,以及密碼保存的狀態(tài)扳躬。
  2. 如果沒有選擇保存密碼,則從localstorage中移除當(dāng)前登錄信息
  3. 因?yàn)橄嚓P(guān)里的用戶信息直接與兩個輸入框雙向綁定甚亭,所以從localstorage中獲取的值直接給輸入框綁定的數(shù)據(jù)贷币,無需再重新賦值
4.登錄狀態(tài)管理

在代碼的處理中,子組件想要獲得父組件的數(shù)據(jù)亏狰,我們可以用到prop役纹,當(dāng)父組件想要獲得子組件的數(shù)據(jù)是,我們可以用到$emit那么兄弟組件之間骚揍、甚至是沒啥關(guān)系的組件想要獲得其他組件的信息時字管,應(yīng)當(dāng)怎么處理呢?
對于狀態(tài)管理的學(xué)習(xí)信不,我是把其當(dāng)做我們程序中的全局變量去理解嘲叔,他是我們所有組件都能共享的內(nèi)容。詳情用法可查看官網(wǎng)vuex

  1. 代碼的放置位置
    我們可以放在main.js中(不建議這么做)抽活,為了方便代碼的管理硫戈,可以新建另外的文件夾以方vuex的代碼。但因?yàn)檫@次代碼量比較少下硕,我就偷懶放在了main.js中了
let store = new Vuex.Store({
    state:{
        loginStatus:'登錄'
    },
    mutations:{
        changeLoginStatus(state,name){
            state.loginStatus=name;
        }
    }
})

store中的數(shù)據(jù)的是不能直接在組件中修改的丁逝,必須得通過vuex中的mutation去執(zhí)行修改操作汁胆。

當(dāng)點(diǎn)擊登錄按鈕后,執(zhí)行下面行代碼霜幼,就會到我們的vuex中的代碼中去執(zhí)行嫩码。
this.$store.commit('changeLoginStatus', this.loginData.user);


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市罪既,隨后出現(xiàn)的幾起案子铸题,更是在濱河造成了極大的恐慌,老刑警劉巖琢感,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丢间,死亡現(xiàn)場離奇詭異,居然都是意外死亡驹针,警方通過查閱死者的電腦和手機(jī)烘挫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柬甥,“玉大人饮六,你說我怎么就攤上這事】疗眩” “怎么了喜滨?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長撤防。 經(jīng)常有香客問我,道長棒口,這世上最難降的妖魔是什么寄月? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮无牵,結(jié)果婚禮上漾肮,老公的妹妹穿的比我還像新娘。我一直安慰自己茎毁,他們只是感情好克懊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著七蜘,像睡著了一般谭溉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上橡卤,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天扮念,我揣著相機(jī)與錄音,去河邊找鬼碧库。 笑死柜与,一個胖子當(dāng)著我的面吹牛巧勤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喂窟,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼恋拍,長吁一口氣:“原來是場噩夢啊……” “哼嚣镜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起剩瓶,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎柒瓣,沒想到半個月后儒搭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芙贫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年搂鲫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磺平。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡魂仍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拣挪,到底是詐尸還是另有隱情擦酌,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布菠劝,位于F島的核電站赊舶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赶诊。R本人自食惡果不足惜笼平,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舔痪。 院中可真熱鬧寓调,春花似錦、人聲如沸锄码。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滋捶。三九已至痛悯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炬太,已是汗流浹背灸蟆。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炒考。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓可缚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親斋枢。 傳聞我的和親對象是個殘疾皇子帘靡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容