vue变异推送对象参考?

时间:2018-04-07 08:36:44

标签: web vue.js frontend vuex

addSentence: (state) => {
  const obj = state;
  // next line is correct;
  obj.sentences.push({ ...obj.current });
  // change to next line, get error 
  // obj.sentences.push(obj.current);
  obj.current = new Sentence();
},



import Constants from './Constants';

export default class Sentence {
  constructor(config) {
    this.text = '';
    this.fontFamily = 'KaiTi';
    this.fontSize = 16;
    this.fontStyle = '';
    this.appearStyle = {
      name: 'type',
      speed: 40,
      startDelay: 0,
    };
    this.disappearStyle = {
      name: 'backspace',
      speed: 80,
      startDelay: 0,
      smartBackspace: true,
    };

  }

  play(context) {

  }

  drawText() {

  }

}

state.cuurent是Sentence类型的对象。 并且state.sentences = [句子]

这是一个变异处理程序。

错误: [vuex]不要在变异处理程序之外改变vuex存储状态。

0 个答案:

没有答案