Доступ к методу vue в vuex mapState - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть важная задача, пока данные вычисляются в vuex mapState.Мне нужно вызывать этот метод vue countAlerts каждый раз, когда данные меняются;для этого вычисляемое свойство должно вызывать этот метод, но у this scope нет методов vue, когда оно используется insight vuex mapState.

export default {
  name: "Alerts",
  methods: {
    countAlerts(data, period) {
      /// DO SOMETHING, THEN RETURN DATA
      return data;
    }
  },
  computed: {
    ...mapState({
      foundation: state => state.insights.foundation,
      insights: state => {
        return state.insights.list.filter(al => {
          switch (state.insights.foundation.period) {
            case "daily":
               // ====>> NEED TO CALL METHOD HERE <<=====
              al = this.countAlerts(al, "daily");
              if (
                al.threeDayUp ||
                al.threeDayDown ||
                al.greatDayUp ||
                al.greatDayDown
              ) {
                return al;
              }
              break;
            ///  MORE CODE ABOVE
          }
        });
      }
    })
  }
};

1 Ответ

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

this привязывается к контексту компонента при определении вычисляемых реквизитов как функций.

Из документов :

// to access local state with `this`, a normal function must be used
countPlusLocalState (state) {
  return state.count + this.localCount
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...