Vue динамическая картаGetters - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть реквизиты, которые я хочу использовать для создания динамических mapGetters, но mapGetters видит реквизиты как неопределенные, вероятно, потому что вычисленные загружаются до реквизитов.Кто-нибудь знает, как я могу сделать это динамичным?мой код выглядит следующим образом:

export default {
    props: ['listType'],
    components: {
        addrow: AddRow
    },
    computed: {
        ...mapGetters({
            list: `${this.listType}/list`,
            current: 'Dropdown/current'
        }) 
    },
}

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Вы также можете использовать this.$store для полного доступа к магазину.Таким образом, list станет

export default {
    props: ['listType'],
    computed: {
        list() {
            return this.$store.getters[`${this.listType}/list`]
        }
    }
}

Используйте метод отправки для запуска действия, например

export default {
    props: ['listType'],
    methods: {
        sortList(order) {
            this.$store.dispatch(`${this.listType}/list`, order)
        }
    }
}
0 голосов
/ 30 сентября 2018

[ОБНОВЛЕНИЕ] Я нашел решение благодаря @boussadjrabrahim Мой рабочий код выглядит так:

export default {
    props: ['listType'],
    components: {
        addrow: AddRow
    },
    computed: {
        ...mapGetters({
            current: 'Dropdown/current'
        }), 

        ...mapState({
            list (state, getters) {
                return getters[`${this.listType}/list`]
            }
        })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...