vuex中涉及的es6语法的小疑惑

// types.js


// 定义 getter、action、和 mutation 的名称为常量,以模块名 `todos` 为前缀

export const DONE_COUNT = 'todos/DONE_COUNT'

export const FETCH_ALL = 'todos/FETCH_ALL'

export const TOGGLE_DONE = 'todos/TOGGLE_DONE'

// modules/todos.js

import * as types from '../types'


// 使用添加了前缀的名称定义 getter、action 和 mutation

const todosModule = {

  state: { todos: [] },


  getters: {

    [types.DONE_COUNT] (state) {

      // ...

    }

  },


  actions: {

    [types.FETCH_ALL] (context, payload) {

      // ...

    }

  },


  mutations: {

    [types.TOGGLE_DONE] (state, payload) {

      // ...

    }

  }

}

在上面demo中types是es6模块,模块有三个属性DONE_COUNT、FETCH_ALL、TOGGLE_DONE,那么在声明getter和actions或者mutations时候直接写就好了,为何要带[]号呢,除了[]可以吗?好像这是ES6的计算属性结构,但又说不清楚怎么回事,如果可以最好列举几个清晰的列子说明。

尚方宝剑之说
浏览 702回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript