中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

vue中的store怎么使用

本篇內容主要講解“vue中的store怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“vue中的store怎么使用”吧!

成都創(chuàng)新互聯(lián)專注于紅安企業(yè)網站建設,響應式網站建設,商城建設。紅安網站建設公司,為紅安等地區(qū)提供建站服務。全流程按需定制開發(fā),專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

在vue中,store用于管理狀態(tài)、共享數據以及在各個組件之間管理外部狀態(tài),store是vuex應用的核心,也就是一個容器,包含著應用中大部分的狀態(tài),更改store中的狀態(tài)唯一方法是提交mutation。

本文操作環(huán)境:windows10系統(tǒng)、Vue2.9.6版,DELL G3電腦。

vue里store的用法是什么

Vuex 是一個專為 Vue.js 應用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲管理應用的所有組件的狀態(tài),并以相應的規(guī)則保證狀態(tài)以一種可預測的方式發(fā)生變化。

每一個 Vuex 應用的核心就是 store(倉庫)?!皊tore”基本上就是一個容器,它包含著你的應用中大部分的狀態(tài) (state)。Vuex 和單純的全局對象有以下兩點不同:

Vuex 的狀態(tài)存儲是響應式的。當 Vue 組件從 store 中讀取狀態(tài)的時候,若 store 中的狀態(tài)發(fā)生變化,那么相應的組件也會相應地得到高效更新。

你不能直接改變 store 中的狀態(tài)。改變 store 中的狀態(tài)的唯一途徑就是顯式地提交 (commit) mutation。這樣使得我們可以方便地跟蹤每一個狀態(tài)的變化,從而讓我們能夠實現一些工具幫助我們更好地了解我們的應用。

store 的核心概念

state 表示了 store 中的狀態(tài),類似于 vue 實例中的 data 屬性。

Mutation

更改 Vuex 的 store 中的狀態(tài)的唯一方法是提交 mutation。

Vuex 中的 mutation 非常類似于事件:每個 mutation 都有一個字符串的 事件類型 (type) 和 一個 回調函數 (handler)。這個回調函數就是我們實際進行狀態(tài)更改的地方,并且它會接受 state 作為第一個參數

Action

Action 類似于 mutation,不同在于:

Action 提交的是 mutation,而不是直接變更狀態(tài)。

Action 可以包含任意異步操作。

一個示例

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  },
  actions: {
    increment (context) {
      context.commit('increment')
    }
  }
})

store 的用法

使用 store 之前, 先要安裝 vuex :

npm install vuex

安裝 Vuex 之后,讓我們來創(chuàng)建一個 store。創(chuàng)建過程直截了當——僅需要提供一個初始 state 對象和一些 mutation。

新建 store 文件夾,再新建 index.js 文件:

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
    state: {
        count: 0
    },
    mutations: {
        increment(state){
            state.count++;
        }
    }
})

為了在 Vue 組件中訪問 this.$store property,你需要為 Vue 實例提供創(chuàng)建好的 store。Vuex 提供了一個從根組件向所有子組件,以 store 選項的方式“注入”該 store 的機制。

也就是在 main.js 文件中導入,并注冊到 vue 根實例中:

import store from './store'
...
new Vue({
    el: "#app",
    store: store,
...

然后就可以在任意一個 vue 組件的 methods 方法屬性下通過 store.commit('increment')來調用:

        ...
        methods:{
            increment:function(){
                this.$store.commit("increment");
                console.log(this.$store.state.count);
            },
            ...

效果如下:

vue中的store怎么使用

到此,相信大家對“vue中的store怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

網頁名稱:vue中的store怎么使用
文章網址:http://m.rwnh.cn/article8/gshdop.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、網站內鏈、網站營銷、標簽優(yōu)化商城網站、響應式網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
大余县| 伊春市| 曲沃县| 德江县| 寿阳县| 图片| 泸州市| 原阳县| 蒙城县| 绥江县| 稻城县| 木兰县| 离岛区| 聂拉木县| 元氏县| 海丰县| 湘乡市| 宁远县| 玛纳斯县| 图片| 正镶白旗| 金寨县| 昭平县| 诸暨市| 万年县| 军事| 长兴县| 渑池县| 腾冲县| 汾阳市| 安国市| 三江| 武清区| 新巴尔虎右旗| 和平区| 南江县| 墨江| 双流县| 长岭县| 喜德县| 宿迁市|