vuex mapState某个state失效

发布于 2022-09-12 02:15:04 字数 1009 浏览 10 评论 0

背景是尝试用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 };
      }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷月断魂刀 2022-09-19 02:15:04

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文