vuejs 2 как посмотреть значения магазина из vuex при использовании params - PullRequest
0 голосов
/ 25 августа 2018

Как можно отслеживать изменения значений магазина при использовании параметров?Обычно я делаю это через геттер, но мой геттер принимает параметр, который усложняет задачу, поскольку мне не удалось найти документацию по этому сценарию или стеку Q / A.

(код свернут по демонстрационным причинам) Мой store.js:

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

let report = {
    results: [],
};
export const store = new Vuex.Store({
    state: {   
        broken: Object.assign({}, report),    
    },
     results: (state) => (scan) => {
            return state[scan].results
        },
});

vue-component.vue:

computed: {
        ...mapGetters([ 
         'results',
        ]),

    watch: {
        results(){ // How to pass the param ??
            // my callback
        }

Поэтому я бы хотел узнать, как передать параметр, чтобы мои часы работали.

1 Ответ

0 голосов
/ 25 августа 2018

По моему мнению, прямого решения для вашего вопроса не существует.
Сначала для функции наблюдения она принимает только два параметра, newValue и oldValue, поэтому нет способа передать параметр сканирования.
Кроме того, ваше свойство результатов вычисляется, просто возвращайте функцию, если вы смотрите функцию, она никогда не сработает.

Я предлагаю вам просто заменить геттеры с вложенной функции на простую функцию.

Но если вы действительно хотите поступить таким образом, вам следует создать вычисляемые мостом свойства

computed: {
  ...mapGetters([
    'results',
  ]),
  scan() {

  },

  mutatedResults() {
    return this.results(this.scan);
  },

  watch: {
   mutatedResults() {

   }
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...