欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VUE使用vuex解決模塊間傳值問(wèn)題的方法

 更新時(shí)間:2017年06月01日 16:05:28   作者:Fayin  
本篇文章主要介紹了VUE使用vuex解決模塊間傳值問(wèn)題 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在看電影、打Dota、擼代碼間來(lái)回,猶豫不決,終于還是下決心繼續(xù)學(xué)習(xí)VUE。

仿照 conde.js 官網(wǎng)寫(xiě)的一個(gè)demo,目前已經(jīng)基本可用,但始終缺少登錄頁(yè),沒(méi)有用戶權(quán)限管理,于是開(kāi)擼......

<template>
 <div id="login">
 <c-header></c-header>
 <c-form></c-form>
 <p class="content-block"><a href="javascript:;" rel="external nofollow" rel="external nofollow" @click=showState class="button button-fill button-success">登錄</a></p>
 </div>
</template>

外觀大概是這樣的:

兩個(gè)輸入項(xiàng)通過(guò) c-form 組件導(dǎo)入

由于沒(méi)有登錄接口調(diào)用,初步想法是:點(diǎn)擊登錄,將c-from組件輸入的值(用戶名和密碼)保存在 sessionStorage 中,通過(guò)判斷 sessionStorage 是否保存了用戶信息,來(lái)決定用戶的操作權(quán)限。

現(xiàn)在問(wèn)題來(lái)了——點(diǎn)擊登錄,如何取得 c-form 組件中的輸入值?

最直接的想法就是通過(guò)子組件派生事件,父組件監(jiān)聽(tīng)觸發(fā)。轉(zhuǎn)念一想,何不使用vuex來(lái)進(jìn)行管理呢?正好之前從來(lái)沒(méi)有認(rèn)真對(duì)待過(guò)它。

LOL......

坑坑坑,我踩踩踩

終于,總結(jié)出使用 vuex 的三大步驟:

步驟1:安裝和創(chuàng)建

安裝 vuex:npm i vuex --save

創(chuàng)建 store.js,把基本格式寫(xiě)好:

 import Vue from 'vue'
 import Vuex from 'vuex'
 // 首先聲明一個(gè)狀態(tài) state
 const state = {
 msg: ''
 }
 // 然后給 actions 注冊(cè)一個(gè)事件處理函數(shù),當(dāng)這個(gè)函數(shù)被觸發(fā)時(shí),將狀態(tài)提交到 mutaions中處理
 const actions = {
 saveName({commit}, msg) {
  commit('saveMsg', msg) // 提交到mutations中處理 
 }
 }
 // 更新?tīng)顟B(tài)
 const mutations = {
  saveMsg(state, msg) {
  state.msg = msg;
 }
 }
 // 獲取狀態(tài)信息
 const getter = {
 showState(state) {
  console.log(state.msg)
 }
 }


 // 下面這個(gè)相當(dāng)關(guān)鍵了,所有模塊,記住是所有,注冊(cè)才能使用
 export default new Vuex.Store{
 state,
 getter,
 mutations,
 actions
 }

步驟2:在子組件中使用(保存輸入)

具體到我這里,是在c-form中使用它:

<template>
 <div>
  <input type="text" @blur=saveName(username) v-model="username" placeholder="Your name">
 </div>
</template>

<script type="text/javascript">
 // 引入mapActions,很重要
 import { mapActions } from 'vuex'
 export default {
 data() {
  return {
  username:'',
  password: ''
  }
 },
 methods: {
  ...mapActions({
  // 在input 的blur 事件中觸發(fā)回調(diào),并將輸入值作為參數(shù)返回到store中
  saveName: 'saveName' 
  })
 }
 }
</script>

步驟3:獲取在步驟2 中的輸入值(獲取state)

<template>
 <div id="login">
 <c-header></c-header>
 <c-form></c-form>
 <p class="content-block"><a href="javascript:;" rel="external nofollow" rel="external nofollow" @click=showState class="button button-fill button-success">登錄</a></p>
 </div>
</template>

<script>
// 引入mapGtters,很重要
import { mapGetters } from 'vuex'
 export default {
 methods: {
  ...mapGetters([
  // 在store.js 中注冊(cè)的getters
  'showState'
  ])
 },
 components: {
  "c-form": require('../components/form.vue'),
  "c-header": require('../components/header.vue')
 }
 }
</script>

至此,我們就能得到輸入值了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue頁(yè)面更新patch的實(shí)現(xiàn)示例

    vue頁(yè)面更新patch的實(shí)現(xiàn)示例

    這篇文章主要介紹了vue頁(yè)面更新patch的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 巧用Vue.js+Vuex制作專門收藏微信公眾號(hào)的app

    巧用Vue.js+Vuex制作專門收藏微信公眾號(hào)的app

    這篇文章主要為大家詳細(xì)介紹了vue自定義指令三步如何實(shí)現(xiàn)數(shù)據(jù)拉取更新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 基于Vue3制作簡(jiǎn)單的消消樂(lè)游戲

    基于Vue3制作簡(jiǎn)單的消消樂(lè)游戲

    這篇文章主要為大家介紹了如何利用Vue3制作簡(jiǎn)單的消消樂(lè)游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-05-05
  • 解決vue v-for src 圖片路徑問(wèn)題 404

    解決vue v-for src 圖片路徑問(wèn)題 404

    今天小編就為大家分享一篇解決vue v-for src 圖片路徑問(wèn)題 404,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 使用VUE+iView+.Net Core上傳圖片的方法示例

    使用VUE+iView+.Net Core上傳圖片的方法示例

    這篇文章主要介紹了使用VUE+iView+.Net Core上傳圖片的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Vue實(shí)現(xiàn)頁(yè)面添加水印功能

    Vue實(shí)現(xiàn)頁(yè)面添加水印功能

    今天小編就為大家分享一篇Vue實(shí)現(xiàn)頁(yè)面添加水印功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • element-ui圖片上傳組件查看和限制方式

    element-ui圖片上傳組件查看和限制方式

    這篇文章主要介紹了關(guān)于element-ui圖片上傳組件查看和限制方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue3封裝AES(CryptoJS)前端加密解密通信代碼實(shí)現(xiàn)

    vue3封裝AES(CryptoJS)前端加密解密通信代碼實(shí)現(xiàn)

    防止數(shù)據(jù)被爬取,前后端傳參接收參數(shù)需要加密處理,使用AES加密,這篇文章主要給大家介紹了關(guān)于vue3封裝AES(CryptoJS)前端加密解密通信代碼實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 詳解vuex 漸進(jìn)式教程實(shí)例代碼

    詳解vuex 漸進(jìn)式教程實(shí)例代碼

    Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式。通過(guò)本文給大家分享vuex 漸進(jìn)式教程實(shí)例代碼,從入門級(jí)帶你慢慢深入使用vuex,感興趣的朋友一起看看吧
    2018-11-11
  • Vue2+JS實(shí)現(xiàn)掃雷小游戲

    Vue2+JS實(shí)現(xiàn)掃雷小游戲

    實(shí)現(xiàn)小游戲可以鍛煉自己的邏輯思維能力,也不會(huì)很枯燥,完成時(shí)會(huì)給自己帶來(lái)一種滿足感。本文就將利用Vue和JS實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲,需要的可以參考一下
    2022-06-06

最新評(píng)論