Javascript 如何使数据和Vuex具有反应性?

Javascript 如何使数据和Vuex具有反应性?,javascript,vue.js,vuex,nuxt.js,Javascript,Vue.js,Vuex,Nuxt.js,有这样一个代码: 导出默认值{ 数据(){ 返回{ chartStyleObject:{ 宽度:此。$store.state.chartStyleObject.width, 高度:此.$store.state.chartStyleObject.height, marginTop:this.$store.state.chartStyleObject.marginTop, marginRight:此.$store.state.chartStyleObject.marginRight, margi

有这样一个代码:


导出默认值{
数据(){
返回{
chartStyleObject:{
宽度:此。$store.state.chartStyleObject.width,
高度:此.$store.state.chartStyleObject.height,
marginTop:this.$store.state.chartStyleObject.marginTop,
marginRight:此.$store.state.chartStyleObject.marginRight,
marginBottom:this.$store.state.chartStyleObject.marginBottom,
marginLeft:this.$store.state.chartStyleObject.marginLeft,
},
},
}

}
当您在

chartStyleObject: {
  width: this.$store.state.chartStyleObject.width,          // here
  height: this.$store.state.chartStyleObject.height,
  marginTop: this.$store.state.chartStyleObject.marginTop,
  marginRight: this.$store.state.chartStyleObject.marginRight,
  marginBottom: this.$store.state.chartStyleObject.marginBottom,
  marginLeft: this.$store.state.chartStyleObject.marginLeft,
},
您正在为
宽度
高度
等指定值。将
状态
变量的当前值分配给它们

如果希望每当存储的
状态更改时
chartStyleObject
的属性都会更改,请直接将
状态映射到模板中(或在使用该模板时),或创建计算的:

export default {
    computed: {
      chartStyleObject() {
        return {
          width: this.$store.state.chartStyleObject.width,
          height: this.$store.state.chartStyleObject.height,
          marginTop: this.$store.state.chartStyleObject.marginTop,
          marginRight: this.$store.state.chartStyleObject.marginRight,
          marginBottom: this.$store.state.chartStyleObject.marginBottom,
          marginLeft: this.$store.state.chartStyleObject.marginLeft,
        };
      },
    },
}

在中指定值时

chartStyleObject: {
  width: this.$store.state.chartStyleObject.width,          // here
  height: this.$store.state.chartStyleObject.height,
  marginTop: this.$store.state.chartStyleObject.marginTop,
  marginRight: this.$store.state.chartStyleObject.marginRight,
  marginBottom: this.$store.state.chartStyleObject.marginBottom,
  marginLeft: this.$store.state.chartStyleObject.marginLeft,
},
您正在为
宽度
高度
等指定值。将
状态
变量的当前值分配给它们

如果希望每当存储的
状态更改时
chartStyleObject
的属性都会更改,请直接将
状态映射到模板中(或在使用该模板时),或创建计算的:

export default {
    computed: {
      chartStyleObject() {
        return {
          width: this.$store.state.chartStyleObject.width,
          height: this.$store.state.chartStyleObject.height,
          marginTop: this.$store.state.chartStyleObject.marginTop,
          marginRight: this.$store.state.chartStyleObject.marginRight,
          marginBottom: this.$store.state.chartStyleObject.marginBottom,
          marginLeft: this.$store.state.chartStyleObject.marginLeft,
        };
      },
    },
}

在这种情况下,我需要常规数据吗?将来我应该如何从其他方法更改这些计算属性?如果我只是根据这些计算属性更改数据属性-我的应用程序不工作。在这种情况下我需要手表吗?如果你使用商店,你必须更改商店,你不能更改计算属性。一旦状态更改,计算属性应自动更新。你不应该需要手表。在这种情况下,我需要常规数据吗?将来我应该如何从其他方法更改这些计算属性?如果我只是根据这些计算属性更改数据属性-我的应用程序不工作。在这种情况下我需要手表吗?如果你使用商店,你必须更改商店,你不能更改计算属性。一旦状态更改,计算属性应自动更新。你不应该需要手表。