是否可以“观看” Vuex模块?

时间:2018-12-26 14:40:28

标签: javascript vue.js vuejs2 vuex

我将单个模块导入到Vuex存储中:

import date from './modules/date-select';

export default new Vuex.Store({
    modules: {date},
});

是否可以通过某种方式“监视”整个模块的组件?像这样:

import { mapState  } from 'vuex';

export default {
    computed: {
        ...mapState(['date'])
    },

    watch: {
        'date': function(date) {
            console.log(date)
        }
    }
}

它的工作原理就像我尝试观察模块date.timeframedate.interval这样的特定属性时一样,但是我需要在更改任何参数时执行操作

1 个答案:

答案 0 :(得分:2)

应该带有深标记。例如:

watch: {

    people: {
          handler: function (val, oldVal) {
            // Return the object that changed
            var changed = val.filter( function( p, idx ) {
              return Object.keys(p).some( function( prop ) {
                return p[prop] !== oldVal[idx][prop];
              })
            })
            // Log it
            console.log(changed)
          },
          deep: true
        }
}