Vuex頁面跳轉時數據傳遞


1.Vuex概念

Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式

這個狀態自管理應用包含以下幾個部分:

  • state,驅動應用的數據源;
  • view,以聲明方式將 state 映射到視圖;
  • actions,響應在 view 上的用戶輸入導致的狀態變化。

以下是一個表示“單向數據流”理念的極簡示意:

Vuex基本思想

1. action 提交mutation,而不是直接更改狀態

2.action 可以包括異步操作,mutation只能同步

3.modules  將store分割成模塊(modules),每個模塊擁有自己的(state,mutations,actions,getter);方便維護

4.store 改變狀態時通過 (commit) mutations

vuex

2. 引入vuex

npm install vuex --save

 

3.在src/store文件下下創建一個store.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

export default new Vuex.Store({
state: { count:
0, apiDocInfo: { operationId: "" } }, mutations: { //設置apiInfo的值 setApiInfo(state, apiInfo) { state.apiDocInfo = apiInfo }, increment: state => state.count++, decrement: state => state.count--, } })

 

3.在 main.js中添加

//Vuex
import store from './store/store'  // 引入store 對象


new Vue({
  el: '#app',
  store,// 注入到根實例中
  router,
  components: {
    App
  },
  template: '<App/>'
})

 

4.SetValue

   queryApiInfo(){
      let apiDocInfo={
        operationId:operationId
      };
     //直接設置
      // this.$store.state.apiDocInfo=apiDocInfo;
      //commit設置
      this.$store.commit('setApiInfo', apiDocInfo);// SET_ORDER為order值的設置方法的方法名

    },    

5.獲取值

 

<template>
    <div >
           <span>{{count}}</span>
           <span>{{apiDocInfo}}</span>
 
    </div>
</template>
<script>
import {mapState} from 'vuex';
export default {
 
  computed:mapState({
     count:state => state.count,
     apiDocInfo :state => state.apiDocInfo,
  }),
}
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 js實現Html頁面間跳轉之數據傳遞 組件之間的數據傳遞--Vuex uniapp在在頁面跳轉時,若URL太長的字符串會導致數據傳遞失敗 微信小程序 頁面跳轉和數據傳遞實例詳解 數據傳遞(本地存儲、vuex存儲、路由參數) Android activity之間的跳轉和數據傳遞 vue引入iframe的父子頁面的數據傳遞