@procode
Разработчик

Что означают три точки в данном случае: ...mapMutations({ (листинг в теле вопроса)?

Вот:

<script>
import { mapMutations } from 'vuex'

export default {
  computed: {
    todos () { return this.$store.state.todos.list }
  },
  methods: {
    addTodo (e) {
      this.$store.commit('todos/add', e.target.value)
      e.target.value = ''
    },
    ...mapMutations({
      toggle: 'todos/toggle'
    })
  }
}
</script>


Это из доков nuxt.js

Непонятно, это ведь вроде не параметры а имя метода...

Спасибо.
  • Вопрос задан
  • 563 просмотра
Решения вопроса 1
@askhat
Spread Operator это синтаксический сахар для Object.create. В результате использования будет создана копия объекта–операнда, в данном случае объекта возвращённого функцией mapMutations.

Примеры:

// Только для примера, в жизни для этой задачи использовать .map
[1, 2, 3].reduce((acc, el) => [...acc, el ** 2], [])

const o = {
  importantField: “value”,
  some: true,
  random: false,
  stuff: null
}
const { importantField, ...someRandomStuff } = o

// Не совсем тоже самое, но спред используется и здесь
function variadicFn(singleArg, ...arrayWithTheRestOfArgs) {}

const condition = true
const p = { ...condition && { text: “Contion is truthful” } }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dk-web
Новый оператор ... называется spread (распростанение, расширение) или rest (остаток) в зависимости от того, где и как он используется.

es6
Ответ написан
Ваш ответ на вопрос

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

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