Можно ли "смотреть" модуль Vuex? - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть один модуль, импортированный в 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.timeframe или date.interval, но мне нужно выполнять действия при изменении любого параметра

1 Ответ

0 голосов
/ 26 декабря 2018

Это должно быть с глубоким флагом.Например:

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
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...