大唐会议项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
1.5 KiB

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex); // vue的插件机制
// Vuex.Store 构造器选项
const store = new Vuex.Store({
// 为了不和页面或组件的data中的造成混淆,state中的变量前面建议加上$符号
state: {
isMusic: false,
time: 0, // 计时时间
timer: null, // 计时对象
trainInfo: {},
// 患者名称
patientName: '',
trainPath: '',
},
mutations: {
// 更改state中状态的逻辑,同步操作
setIsMusic(state, data) {
state.isMusic = data;
},
// 设置训练信息
setTrainInfo(state, data) {
state.trainInfo = data;
console.log(' state.trainInfo: ', state.trainInfo);
},
// 自由训练患者名称
setPatientName(state, data) {
state.patientName = data;
},
// 自由训练患者名称
setTrainPath(state, data) {
state.trainPath = data;
},
// ----------全局定时器处理-----------
},
actions: {
// 开始计时
startTime({ commit }) {
let state = this.state;
// console.log('state.time: ', commit, this.state);
state.timer = setInterval(() => {
state.time++;
}, 1000);
},
// 设置计时时间
setTime(time) {
console.log('time', time);
let state = this.state;
state.tiem = time;
},
// 停止计时器
stopTimer() {
let state = this.state;
clearInterval(state.timer);
state.timer = null;
},
// 重置计时器
resetTime() {
let state = this.state;
state.time = 0;
},
},
});
export default store;