关于vuex中state改变之后的操作

现在我的需求就是通过点击按钮来改变state的值,然后再其他组件内监听state值的改变来执行一个方法,
computed是监听只改变之后返回一个值,如果要执行一个方法是用什么,watch吗?有大神知道的讲解一下啊。

场景:

头部组件有一个播放按钮,递减可以改变播放的状态,

中间有音频播放控件组件,监听到播放状态的改变之后,执行play()或pause()方法。

使用computed返回state的值,再使用watch来检测computed返回的值,通过使用this.$store.commit来触发mutation从而改变state的值,再在watch函数中执行自己想做的操作

  markersState() {

      return this.$store.getters["app/entranceIn"];

    },

    // ...mapState("app", {

    //   markersState: state => state.entranceIndex

    // }),

    ...mapGetters("app/", ["entranceIn"])

  },

  watch: {

    markersState(newVal, olaVal) {

      console.log(newVal, olaVal);

    }

  },

  mounted() {

    console.log(this.markersState); // 打印出 0

    console.log(this.entranceIn); // 打印出 0

  },

猜你喜欢

转载自blog.csdn.net/qq_40999917/article/details/107732416
今日推荐