vuex mapState某个state失效

背景是尝试用vuex和echarts画图
store数据是这样:

    state: {
        selectedKpis:[],
        currentCell:{
            cellID:'',
            cellName:'',
            kpiData:{},
        },
    },

然后是画图的组件

  computed: {
    ...mapState({
      option:function(state) {
        
        let kpi = state.currentCell.kpiData;
        let selectedKpi = state.currentCell.selectedKpis
        //接下来为myOption设置
        ...
        return myOption
     }
    }),
 

  watch: {
     selectedKpis: function(val) {
       console.log("watch", this.selectedKpis);
       this.charts.setOption(val, true);
     },

发现kpiData更新可以触发mapState和watch,但是selectedKpis更新时mapState却没有触发,这是为什么?我自己怎么也找不出来原因,谢谢大佬帮忙解答

其它信息:
测试了单独包含selectedKpis的计算属性,发现mapState和watch也都可以触发,相关计算属性如下

      test: function(state) {
          console.log("testt", state.selectedKpis);
          let tmp = state.selectedKpis;
          return { aaa: tmp };
      }
阅读 3.3k
1 个回答

别的没看出来什么,就看出来了上面代码块里:let selectedKpi = state.currentCell.selectedKpis,下面代码块里:let tmp = state.selectedKpis.所以会不会是 selectedKpis 的层级不对

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题