@sergeyviktorovich

Что означают 3 точки впереди функции во vue шаблоне?

import { mapActions, mapGetters } from 'vuex';

export default {
    name: 'ViewDataList',
    props: {
        status: String,
    },
    computed: {
        ...mapGetters(['dataList', 'currentItem'])
    },
    methods: {
        ...mapActions(['loadData', 'setCurrentItem', 'moveBack', 'loadDataItemInfo', 'resetQuery']),

        selectItem(event) {
            const id = event.target.dataset.id;
            this.setCurrentItem(id);

            if (this.status == 'modal') {
                this.loadDataItemInfo();
            }
        },

        resetItem() {
            this.resetQuery();
        },

        nextStep() {
            this.$emit('nextStep');
        }
    },
    created() {
        this.loadData();
    },
}
  • Вопрос задан
  • 390 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Это означает, что вы не знаете js.

Да и в целом - плохо понимаете смысл используемых вами слов. Какой шаблон, вы чего? Шаблон vue - это html, который компилируется в render-функцию. А вы что показали?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Mellorn
Это деструктуризация.

Но я согласен с 0xD34F, все такие вопросы от нечтения документации. В доке по Vuex говорится о том, что это такое и зачем нужно.
Ответ написан
Комментировать
@megakor
Laravel | Tailwind | Vue.js + Inertia.js
mapActions и mapGetters (а ещё часто бывает mapState и mapMutations) - это методы Vuex, которые позволяют обращаться к функционалу хранилища vuex в контексте текущего компонента. По сути только делает код более красивым.

Например, в вашем примере есть loadData в mapActions. В таком случае можно обратиться просто this.loadData();

Если без этого, то пришлось бы писать такой длинный и некрасивый код: this.$store.dispatch('loadData');

Читайте документацию по Vuex.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы