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

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)有用戶(hù)權(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組件輸入的值(用戶(hù)名和密碼)保存在 sessionStorage 中,通過(guò)判斷 sessionStorage 是否保存了用戶(hù)信息,來(lái)決定用戶(hù)的操作權(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返回值動(dòng)態(tài)生成表單及提交數(shù)據(jù)的辦法

    詳解Vue返回值動(dòng)態(tài)生成表單及提交數(shù)據(jù)的辦法

    這篇文章主要為大家介紹了Vue返回值動(dòng)態(tài)生成表單及提交數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Vue3的動(dòng)態(tài)組件使用場(chǎng)景與示例

    Vue3的動(dòng)態(tài)組件使用場(chǎng)景與示例

    在 Vue 中,組件是構(gòu)建用戶(hù)界面的基礎(chǔ),而動(dòng)態(tài)組件的引入,更是讓開(kāi)發(fā)者能夠在應(yīng)用中實(shí)現(xiàn)靈活、可重用的視圖邏輯,本文將探討 Vue 3 中的動(dòng)態(tài)組件,分享其使用場(chǎng)景,并通過(guò)示例代碼來(lái)說(shuō)明其操作方法,需要的朋友可以參考下
    2025-01-01
  • Vue3數(shù)據(jù)更新,頁(yè)面沒(méi)有同步更新的問(wèn)題及解決

    Vue3數(shù)據(jù)更新,頁(yè)面沒(méi)有同步更新的問(wèn)題及解決

    這篇文章主要介紹了Vue3數(shù)據(jù)更新,頁(yè)面沒(méi)有同步更新的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解Vue 全局變量,局部變量

    詳解Vue 全局變量,局部變量

    這篇文章主要介紹了Vue全局變量局部變量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue2.0實(shí)現(xiàn)選項(xiàng)卡導(dǎo)航效果

    vue2.0實(shí)現(xiàn)選項(xiàng)卡導(dǎo)航效果

    這篇文章主要為大家詳細(xì)介紹了vue2.0實(shí)現(xiàn)選項(xiàng)卡導(dǎo)航效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue2.x中的Render函數(shù)詳解

    Vue2.x中的Render函數(shù)詳解

    通常開(kāi)發(fā)vue我們使用的是模板語(yǔ)法,其實(shí)還有和react相同的語(yǔ)法,那就是render函數(shù),同樣支持jsx語(yǔ)法。Vue 的模板實(shí)際是編譯成了 render 函數(shù)。
    2017-05-05
  • vue-quill-editor富文本編輯器超詳細(xì)入門(mén)使用步驟

    vue-quill-editor富文本編輯器超詳細(xì)入門(mén)使用步驟

    vue中很多項(xiàng)目都需要用到富文本編輯器,在使用了ueditor和tinymce后,發(fā)現(xiàn)并不理想,所以果斷使用vue-quill-editor來(lái)實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue-quill-editor富文本編輯器入門(mén)使用步驟的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Vue項(xiàng)目如何保持用戶(hù)登錄狀態(tài)(localStorage+vuex刷新頁(yè)面后狀態(tài)依然保持)

    Vue項(xiàng)目如何保持用戶(hù)登錄狀態(tài)(localStorage+vuex刷新頁(yè)面后狀態(tài)依然保持)

    關(guān)于vue登錄注冊(cè),并保持登錄狀態(tài),是vue玩家必經(jīng)之路,這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目如何保持用戶(hù)登錄狀態(tài)的相關(guān)資料,localStorage+vuex刷新頁(yè)面后狀態(tài)依然保持,需要的朋友可以參考下
    2022-05-05
  • vue基礎(chǔ)之v-bind屬性、class和style用法分析

    vue基礎(chǔ)之v-bind屬性、class和style用法分析

    這篇文章主要介紹了vue基礎(chǔ)之v-bind屬性、class和style用法,結(jié)合實(shí)例形式分析了vue.js中v-bind綁定及class、style樣式控制相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • vue3+vite實(shí)現(xiàn)在線預(yù)覽pdf功能

    vue3+vite實(shí)現(xiàn)在線預(yù)覽pdf功能

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)vue3和vite實(shí)現(xiàn)在線預(yù)覽pdf功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-10-10

最新評(píng)論

县级市| 松阳县| 肃南| 科尔| 汝阳县| 永新县| 铁岭县| 鲁山县| 清河县| 长顺县| 轮台县| 晋中市| 即墨市| 台北市| 社会| 清水河县| 广元市| 尼玛县| 永宁县| 黄骅市| 杭锦后旗| 阿拉善盟| 锡林浩特市| 蕲春县| 江西省| 新和县| 江门市| 全椒县| 溧阳市| 荥经县| 溧水县| 玉溪市| 东光县| 横峰县| 辽宁省| 阳春市| 正镶白旗| 赤壁市| 乌拉特中旗| 北京市| 凌源市|