成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

正確理解Vuex: 懂人生,就懂了Vuex

URLOS / 2769人閱讀

摘要:人生,遠(yuǎn)不止是錢。如何管理,一個(gè)更復(fù)雜的人生人生,就是一個(gè)大型應(yīng)用。把復(fù)雜的人間,拆解成了行動與目標(biāo)。所以,,以及和兩個(gè)函數(shù),就構(gòu)成了的邏輯?,F(xiàn)在,你不僅完全理解了的設(shè)計(jì)哲學(xué),你更懂得了如何管理人生。

Veux的哲學(xué),實(shí)質(zhì)上是人生的哲學(xué)。

看一看這張圖。

釋義:

魂: 你的靈魂,你的心中所想。

形: 你的身體,你的外在形態(tài)。

人間: 你的所作所為,所見所聞。

想一想,人活著不就是如此嗎?

你的靈魂,控制著你的身體。

你的身體,與世界進(jìn)行互動,改變并影響著人間。

人間所發(fā)生的一切,又時(shí)時(shí)刻刻塑造著你的靈魂。

閉上眼睛,跟隨自己去體驗(yàn):

你心中起了一個(gè)想法,你的身體也隨著這個(gè)念頭去做出行動。 而這個(gè)行動,又改造了你周邊的世界。同時(shí),你也聽見、看見了人間發(fā)生的事,你的思想你的靈魂在隨之改變。

形、魂、人間,即是Vue單向數(shù)據(jù)流。

我們看一個(gè)小型Vue應(yīng)用。

new Vue({
  // 魂(State):你的心中所想
  data () {
    return {
      money: 0
    }
  },
  // 形(View): 你的外在形態(tài)
  template: `
    
我有這么多錢:{{ money }}
`, // 人間(Action):你的所做所為所見所聞 methods: { earn_money () { this.money++ } } })

現(xiàn)代人似乎把一切都簡化了——只為“錢”。

人活著就淪為了這樣的東西:

魂,即state: 心里只有錢,即money。

形:即view: 有多少錢都炫富出來。

我有這么多錢:{{ money }}

人間: 所做的只有一件事,即賺錢:

earn_money () {
  this.money++
}
閉上眼睛,跟隨自己去體驗(yàn):

你是一個(gè)純粹為了錢的人。 你心中所想,只有錢。 你的外在表現(xiàn),就是你有多少錢。你的一切行為,都是為了錢。

人生,遠(yuǎn)不止是錢。這時(shí),你需要Veux。

如果人真的能活得這么純粹,反倒是好事。

但真實(shí)的人生,往往更復(fù)雜:

賺錢不簡單,你可能需要完成一系列復(fù)雜的工作,才能拿到錢。

有錢,也無法表現(xiàn)出來。但你可以通過穿著、房子、車子,表現(xiàn)出來。

思想更復(fù)雜,你心里遠(yuǎn)不止是錢,錢是為了守住更多的東西,例如尊嚴(yán)、愛情、親情。

當(dāng)面對捉摸不定的思想、深藏不露的人性、變幻莫測的人間...你需要一套處世哲學(xué)。

當(dāng)面對大批量的State,無法直接取值的View,耦合嚴(yán)重的Action的時(shí)候,你就需要Vuex了。

如何管理,一個(gè)更復(fù)雜的人生?

人生,就是一個(gè)大型應(yīng)用。

Vuex就是人的處世哲學(xué)。

當(dāng)你的人生亂成一團(tuán)糟時(shí),你可以試試用Veux的方式,來梳理自己的生活。

第一步: 想一想,你現(xiàn)在心里在意哪些事?

State,就相當(dāng)于你心中在意的事。

那如何去維護(hù)這些State呢? 錢、父母的健康、愛情,并不是輕輕松松可以得到的,你需要縷清楚之間的關(guān)系。

Vuex的解決方案: 分解為目標(biāo)和行動。

Vuex把復(fù)雜的“人間”,拆解成了行動(Action)與目標(biāo)(Mutation)。

Mutation,即目標(biāo),它必須是同步函數(shù)的。 它的功能必須是直截了當(dāng)?shù)?,可以簡單到“讓XX更多”或"讓XX歸零"的程度。

Action,即行動,在其中可以包含異步操作(如Ajax獲取數(shù)據(jù)),并組合一個(gè)個(gè)小目標(biāo)。

View,只能發(fā)起一個(gè)個(gè)行動(dispatch)。

Action,在這里可以執(zhí)行多個(gè)同步/異步函數(shù)、發(fā)起多個(gè)行動(dispatch),達(dá)成(commit)一個(gè)個(gè)小目標(biāo)。

Mutation, 只能改變state(matate)。

State, 直接影響我的形態(tài),這是vue的工作,不作表述。

當(dāng)然,我們有時(shí)提取出一些更“有用”的狀態(tài),相當(dāng)于state的計(jì)算參數(shù),即

Getters,State的計(jì)算屬性。

所以, Action + Mutation + state, 以及dispatch和commit兩個(gè)函數(shù),就構(gòu)成了Veux的邏輯。

我們也可以這樣來管理生活

第二步: Mutation: 寫下目標(biāo)

第三步: Action: 寫下行動

第四步: Getters: 寫下其它指標(biāo)

代碼化

store.js

const store = new Vuex.Store({
  state: {
    money: 10000000,
    energy: 60,
    love: 30,
    parent_health:50
  },
  mutations: {
    earn_money (state) {
      state.money += 1000
    },
    pay_money (state,payload) {
      state.money -= payload.money_cost
      if(state.money < 0) state.money = 0
    },
    restore_energy(state, payload){
      state.energy = state.energy + payload.sleep_hour*10
      if(state.energy > 100) state.energy = 100
    },
    use_energy(state,payload){
        state.energy -= payload.energy_cost
        if(state.energy < 0) state.energy = 0
    },
    be_romantic(state){
        state.love += 10
    },
    enhance_harmony(state){
        state.love += 5
        parent_health += 10
    }
  },
  actions: {
    async work({commit}){
       commit("use_energy")
       await wait(8)
       commit("earn_money")
    },
    send_gift({commit}){
        commit("pay_money",{money_cost:10000})
        commit("be_romantic")
    },
    async family_walk({commit}){
        commit("use_energy",{energy_cost = 10})
        await wait(1)
        commit("enhance_harmony")
    }
    async sleep({commit}) {
        await wait(8)
        commit("restore_energy")
    },
    async dating({dispatch, state}){
        dispatch("send_gift")
        if(state.love >80){
            await dispatch("sleep")
        }
    }
  },
  getters(){
      location: (state)=>{
          return state.money>10000000 ? 4 : state.money>5000000 ? 5: null
      },
      walk_time: (state)=>{
          return Math.min(energy, parent_health)
      }
  }
})

module.exports = store
在Vue項(xiàng)目中使用Vuex

首先,在app.js中導(dǎo)入vuex

import Vue from "vue"
import App from "./components/App.vue"
import store from "./store"

new Vue({
  el: "#app",
  store,
  render: h => h(App)
})

之后,在編寫.vue文件時(shí),利用mapState, mapGetters, mapActions, 可以訪問到StateGettersActions

注意:
mapState和mapGetters必須在computed中訪問,因?yàn)樗鼈兎祷氐氖菍ο?,所以需要用拓展?..進(jìn)行展開。

mapActions則是將Action掛載到methods上,也需要用拓展符...進(jìn)行展開。

結(jié)語

成功學(xué)中有兩個(gè)很重要的概念,叫“目標(biāo)導(dǎo)向” “階段性執(zhí)行”,回頭來看,不正是Veux的哲學(xué)嗎?

Mutation目標(biāo)導(dǎo)向: 設(shè)定簡單的目標(biāo),改變State

Action階段性執(zhí)行: 執(zhí)行一個(gè)個(gè)Matation、異步函數(shù)、和其它階段性執(zhí)行。

現(xiàn)在,你不僅完全理解了Veux的設(shè)計(jì)哲學(xué),你更懂得了如何管理人生。

你可以問自己三個(gè)問題:

梳理思緒: 我心中最在意的事。

設(shè)立目標(biāo):這些最在意的事,會發(fā)生怎樣改變?

創(chuàng)建行動:連接一個(gè)個(gè)小目標(biāo),形成你要做的行動。

然后,行動吧! 只要做正確的事,你所期待的,就一定會發(fā)生!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/103296.html

相關(guān)文章

  • 基于Vue,Vue-router,Vuex的簡書網(wǎng)站模仿

    摘要:本文假設(shè)讀者手里有關(guān)于和的文檔,并且對和有一定的了解。沒有文檔也沒關(guān)系我這里有關(guān)于文檔以及介紹,可以配合本文進(jìn)行學(xué)習(xí)。關(guān)鍵就是在中部導(dǎo)航欄熱門,新上榜那塊,棕色框內(nèi)的內(nèi)容會根據(jù)中部導(dǎo)航欄選中不同內(nèi)容進(jìn)行改變。 在這個(gè)教程里面,我會通過一系列的代碼和圖片來學(xué)習(xí)怎么使用vue-router,以及vuex。本文假設(shè)讀者手里有關(guān)于vue-router和Vuex的文檔,并且對Vue-router...

    warnerwu 評論0 收藏0
  • 基于Vue,Vue-router,Vuex的簡書網(wǎng)站模仿

    摘要:本文假設(shè)讀者手里有關(guān)于和的文檔,并且對和有一定的了解。沒有文檔也沒關(guān)系我這里有關(guān)于文檔以及介紹,可以配合本文進(jìn)行學(xué)習(xí)。關(guān)鍵就是在中部導(dǎo)航欄熱門,新上榜那塊,棕色框內(nèi)的內(nèi)容會根據(jù)中部導(dǎo)航欄選中不同內(nèi)容進(jìn)行改變。 在這個(gè)教程里面,我會通過一系列的代碼和圖片來學(xué)習(xí)怎么使用vue-router,以及vuex。本文假設(shè)讀者手里有關(guān)于vue-router和Vuex的文檔,并且對Vue-router...

    shiyang6017 評論0 收藏0
  • vuex實(shí)現(xiàn)及簡略解析

    摘要:是如何被使用到各個(gè)組件上的為什么的數(shù)據(jù)是雙向綁定的在組件中為什么用可以觸發(fā)的在組件中為什么用可以觸發(fā)的等等等等帶著一堆問題,我們來自己實(shí)現(xiàn)一個(gè),來理解的工作原理。為了解決以上問題,允許我們將分割成模塊。 大家都知道vuex是vue的一個(gè)狀態(tài)管理器,它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。先看看vuex下面的工作流程圖 showImg(...

    王晗 評論0 收藏0
  • vue項(xiàng)目首頁加載速度優(yōu)化

    摘要:凡是做的項(xiàng)目,特別是移動端的項(xiàng)目,首屏加載速度必定是一個(gè)繞不過去的話題。大家知道這些依賴庫的文件都會被一起打包到那個(gè)文件里面,如果這些你的第三方依賴庫很多,很大的話,那就會導(dǎo)致這個(gè)文件很大,那首屏加載的速度肯定會被拖慢。 凡是做SPA的項(xiàng)目,特別是移動端的SAP項(xiàng)目,首屏加載速度必定是一個(gè)繞不過去的話題。接下來我就我們項(xiàng)目里的一些實(shí)踐來做一下總結(jié)。希望拋磚引玉,如果各位有更好的方案,不...

    rickchen 評論0 收藏0
  • vuex的使用

    摘要:使用狀態(tài)對象的訪問我把理解成構(gòu)造器中的里面存放一些數(shù)據(jù),例如用戶姓名性別身份證號等等。 vuex是配合vue一塊兒使用的一個(gè)狀態(tài)管理工具。我通常使用它來保存一些全局的數(shù)據(jù),例如用戶登錄信息,用戶身份信息,總之一些在很多頁面都會使用到的信息,都保存在vuex里面,用的時(shí)候就不需要再去請求接口了,直接去vuex里面拿就可以了。先放官網(wǎng)地址 安裝 npm install vuex --sav...

    tunny 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<