日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue.js 状态管理

發布時間:2025/3/21 vue 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue.js 状态管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

狀態管理

類 Flux 狀態管理的官方實現

由于狀態零散地分布在許多組件和組件之間的交互中,大型應用復雜度也經常逐漸增長。為了解決這個問題,Vue 提供?vuex:我們有受到 Elm 啟發的狀態管理庫。vuex 甚至集成到?vue-devtools,無需配置即可進行時光旅行調試。

React 的開發者請參考以下信息

如果你是來自 React 的開發者,你可能會對 Vuex 和?Redux?間的差異表示關注,Redux 是 React 生態環境中最流行的 Flux 實現。Redux 事實上無法感知視圖層,所以它能夠輕松的通過一些簡單綁定和 Vue 一起使用。Vuex 區別在于它是一個專門為 Vue 應用所設計。這使得它能夠更好地和 Vue 進行整合,同時提供簡潔的 API 和改善過的開發體驗。

簡單狀態管理起步使用

經常被忽略的是,Vue 應用中原始數據對象的實際來源 - 當訪問數據對象時,一個 Vue 實例只是簡單的代理訪問。所以,如果你有一處需要被多個實例間共享的狀態,可以簡單地通過維護一份數據來實現共享:

const sourceOfTruth = {}const vmA = new Vue({data: sourceOfTruth })const vmB = new Vue({data: sourceOfTruth })

現在當?sourceOfTruth?發生變化,vmA?和?vmB?都將自動的更新引用它們的視圖。子組件們的每個實例也會通過?this.$root.$data?去訪問。現在我們有了唯一的數據來源,但是,調試將會變為噩夢。任何時間,我們應用中的任何部分,在任何數據改變后,都不會留下變更過的記錄。

為了解決這個問題,我們采用一個簡單的?store 模式

var store = {debug: true,state: {message: 'Hello!'},setMessageAction (newValue) {if (this.debug) console.log('setMessageAction triggered with', newValue)this.state.message = newValue},clearMessageAction () {if (this.debug) console.log('clearMessageAction triggered')this.state.message = ''} }

需要注意,所有 store 中 state 的改變,都放置在 store 自身的 action 中去管理。這種集中式狀態管理能夠被更容易地理解哪種類型的 mutation 將會發生,以及它們是如何被觸發。當錯誤出現時,我們現在也會有一個 log 記錄 bug 之前發生了什么。

此外,每個實例/組件仍然可以擁有和管理自己的私有狀態:

var vmA = new Vue({data: {privateState: {},sharedState: store.state} })var vmB = new Vue({data: {privateState: {},sharedState: store.state} })

重要的是,注意你不應該在 action 中 替換原始的狀態對象 - 組件和 store 需要引用同一個共享對象,mutation 才能夠被觀察

接著我們繼續延伸約定,組件不允許直接修改屬于 store 實例的 state,而應執行 action 來分發 (dispatch) 事件通知 store 去改變,我們最終達成了?Flux?架構。這樣約定的好處是,我們能夠記錄所有 store 中發生的 state 改變,同時實現能做到記錄變更 (mutation)、保存狀態快照、歷史回滾/時光旅行的先進的調試工具。

說了一圈其實又回到了vuex,如果你已經讀到這兒,或許可以去嘗試一下!

from:?https://cn.vuejs.org/v2/guide/state-management.html

總結

以上是生活随笔為你收集整理的Vue.js 状态管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。