Javascript Vuex TypeScript不更新字符串,但更新数组

Javascript Vuex TypeScript不更新字符串,但更新数组,javascript,typescript,vue.js,vuex,Javascript,Typescript,Vue.js,Vuex,我目前正在与vue“合作”。存储正在更新我的数组,但不更新我的字符串或布尔值 我的密码是: 我每秒钟提交一次字符串,但该字符串不会显示在前端(vuex开发工具显示状态正确,我的控制台日志不正确) 我的商店看起来像这样: const state: State = { cars: [], date: "false", carsCounter: 0, }; export default class DateVue extends Vue { date = readDate(store

我目前正在与vue“合作”。存储正在更新我的数组,但不更新我的字符串或布尔值

我的密码是:

我每秒钟提交一次字符串,但该字符串不会显示在前端(vuex开发工具显示状态正确,我的控制台日志不正确)

我的商店看起来像这样:

const state: State = {
  cars: [],
  date: "false",
  carsCounter: 0,
};
export default class DateVue extends Vue {
  date = readDate(store);
  cars = readCarsFromSse(store);
  testString = readCarsCounter(store);

  mounted() {
    Timeloader.loadTime();
  }

}
我的出口:

const getters = {
  getCars(state: State) {
    return state.cars;
  },
  getDate(state: State) {
    return state.date;
  },
  getCarsCounter(state: State) {
    return state.carsCounter;
  }
};

const { read, commit, dispatch } = getStoreAccessors<State, State>("");

export const readCarsFromSse = read(getters.getCars);
export const readDate = read(getters.getDate);
export const readCarsCounter = read(getters.getCarsCounter);
有人知道为什么字符串没有更新,而数组却没有更新吗

谢谢

有人知道为什么字符串没有更新,而数组却没有更新吗

在视图中,您可以使用一次矫揉造作从Vuex状态获取值。获取数组时,Vuex将返回数组的观察者,项目值将保持最新。但原始值只是原始值

以下是一个解决方案,使用:

安装vuex类:

npm install vuex-class
然后:

…或不带vuex类(由auryn31提供的解决方案):


什么是
read
函数?啊,对不起:
const{read,commit,dispatch}=getStoreAccessors(“”)但我必须能够在vuex中使用原语值,他们在docu中也使用它@auryn31哪个文档?@auryn31在本文档中,您将找到几个关于如何使用vuex存储中的值的示例。您可以这样做:
computed:{count(){返回此值。$store.state.count}
或使用
mapState
帮助程序。谢谢,我是通过使用对象而不是原语值来计算出来的OK,答案是使用get:-D
get-date(){return readDate(store);}
import { Component, Vue } from "vue-property-decorator";
import { Getter } from "vuex-class";

@Component
export default class DateVue extends Vue {
  @Getter("getDate")
  date!: string;
  @Getter("getCars")
  cars!: any[];
  @Getter("getCarsCounter")
  testString!: number;

  mounted() {
    Timeloader.loadTime();
  }
}
export default class DateVue extends Vue {
  get date() { return readDate(store); }
  // etc.
}