場景2需要在vuex中大量管理資料
定義檔案和變數
檔案設定,在src下新增如下的檔案目錄
--store
---actions.js
---getters.js
---index.js
---mutation-types.js
---mutations.js
---state.js
第一步設計state.js,這裡面確定需要被vuex管理的變數
state.js
import from '@/common/js/config.js' //獲取專案的配置---可選
const state=,
playing:false,
fullscreen:false,
playlist:,
sequencelist:,
mode:playmode.sequence,
currentindex:-1
};export default state
第二步設定getters.js對映,也就是確定vuex中能夠被取到的值
getters.js
export const singer= state => state.singer; //簡單點說就是把state.singer對映到常量singer上
export const playing= state => state.playing;
export const fullscreen= state => state.fullscreen;
export const playlist= state => state.playlist;
export const sequencelist= state => state.sequencelist;
export const mode= state => state.mode;
export const currentindex= state => state.currentindex;
export const currentsong = (state)=>
};
第三步定義如何修改vuex中的值,mutations和actions都可以修改,那麼我們需要先定義mutation-type
mutation-type.js
export const set_singer='set_singer'; //定義修改動作名稱,也就是mutations中修改資料的方法名
export const set_playing_state='set_playing_state';
export const set_full_screen='set_full_screen';
export const set_playlist='set_playlist';
export const set_sequence_list='set_sequence_list';
export const set_play_mode='set_play_mode';
export const set_current_index='set_current_index';
第四步定義mutations,定義vuex中資料的修改方法
mutations.js
import * as types from './mutation-types'
const mututations=,
[types.set_playing_state](state,flag),
[types.set_full_screen](state,flag),
[types.set_playlist](state,list),
[types.set_sequence_list](state,list),
[types.set_play_mode](state,mode),
[types.set_current_index](state,index)
};export default mututations;
第五步定義action----mutation通常是每個方法修改單個值,而action通常是每個方法同時修改多個值,action中還會做些異處理---這裡經常是根據業務邏輯寫方法,一般是之後邊開發邊寫,開始的時候不需要定義
action.js
import * as types from './mutation-types'
export const selectplay=function (,) ;
第六部註冊,所有的檔案定義好了,就可以註冊了
index.js
import vue from 'vue'
import vuex from 'vuex'
import * as actions from './actions'
import * as getters from './getters'
import state from './state'
import mutations from './mutations'
import createlogger from 'vuex/dist/logger' //輔助除錯外掛程式引入,在vuex中的值發生改變的時候會自動在控制台打出變數改變前後的值
vue.use(vuex);
const debug= process.env.node_env != 'production'
export default new vuex.store()
在main,js中
import store from './store' //本質上是引入index.js
new vue()
使用vuex中的變數
1getter---獲取vuex中的變數並使用
import from 'vuex';
computed:,
2mutation--修改vuex中的某個值
import from 'vuex';
methods:,
stopplay(),
...mapmutations( //不能直接修改vuex中的變數,通過對映方法傳引數的方式提交改變vuex中的引數
)},
3action---使用actions.js中的方法改變vuex中的變數
import from 'vuex' //action中定義一次改變vuex中多個變數的方法
methods:)
},...mapactions([ //暴露出actions中的方法,作為方法直接呼叫
'selectplay'
])},
簡易版檢視: DoTween使用(完整版新增)
public float myvalue2 0 public vector3 myvalue2 0 public int myvalue2 0 void start 這個myvalue2可以是任何型別的變數,10和後面的2分別是需要動畫到的值和運動到這個值需要的時間 public recttrans...
Mac環境下svn的使用完整版
本文目錄 在windows環境中,我們一般使用tortoisesvn來搭建svn環境。在mac環境下,由於mac自帶了svn的伺服器端和客戶端功能,所以我們可以在不裝任何第三方軟體的前提下使用svn功能,不過還需做一下簡單的配置。我們首先來看下,如何在mac環境下搭建svn伺服器端環境。回到頂部 回...
mysql完整版 MYSQL安裝(完整版)
一 完全解除安裝mysql yum remove mysql mysql server mysql libs compat mysql51 rm rf var lib mysql rm etc my.cnf 檢視是否還有mysql軟體 rpm qa grep mysql 如果存在的話,繼續刪除即可。...