api.md 7.9 KB

Referência de Api

Vuex.Store

import Vuex from 'vuex'

const store = new Vuex.Store({ ...options })

Vuex.Store Opções do Construtor

  • state

    • type: Object | Function

    O objeto raiz de estado para o store Vuex. Detalhes

    Se você passar uma função que retorna um objeto, o objeto retornado é usado como o estado da raiz. Isso é útil quando você deseja reutilizar o objeto de estado, especialmente para reutilização de módulos. Detalhes

  • mutações

    • type: { [type: string]: Function }

    Registra mutações no store. A função do manipulador sempre recebe estado como o 1º argumento (será o estado local do módulo se definido em um módulo) e receberá um 2º argumento payload se houver um.

    Detalhes

  • ações

    • type: { [type: string]: Function }

    Registra ações no store. A função do manipulador recebe um objeto context que expõe as seguintes propriedades:

    {
      state,      // o mesmo que `store.state`, ou estado local se estiver em módulos
      rootState,  // o mesmo que `store.state`, apenas em módulos
      commit,     // o mesmo que `store.commit`
      dispatch,   // o mesmo que `store.dispatch`
      getters,    // o mesmo que `store.getters`, ou com getters locais se estiver em módulos
      rootGetters // o mesmo que `store.getters`, apenas em módulos
    }
    

    Detalhes

  • getters

    • type: { [key: string]: Function }

    Registra getters no store. A função getter recebe os seguintes argumentos:

    state,     // será o estado local do módulo, se definido em um módulo.
    getters    // o mesmo que `store.getters`
    

    Especifique quando definido em um módulo

    state,       // será o estado local do módulo, se definido em um módulo.
    
    getters,     // Módulo getters locais do módulo atual
    rootState,   // estado global
    rootGetters  // todos os getters
    

    Os getters registrados estão expostos em store.getters.

    Detalhes

  • módulos

    • type: Object

    Um objeto contendo sub módulos a serem incorporados no store, de forma que:

    {
      key: {
        state,
        namespaced?,
        mutations?,
        actions?,
        getters?,
        modules?
      },
      ...
    }
    

    Cada módulo pode conter "estado" e "mutações" semelhantes às opções raiz. O estado de um módulo será anexado ao estado da raiz do store usando a chave do módulo. As mutações e getters de um módulo receberão apenas o estado local do módulo como o 1º argumento em vez do estado da raiz e as ações do módulo context.state também apontarão para o estado local.

    Detalhes

  • plugins

    • type: Array<Function>

    Um array de funções de plugin a serem aplicadas no store. O plugin simplesmente recebe o store como o único argumento e pode ouvir mutações (para persistência de dados de saída, log ou depuração) ou mutações de despacho (para dados de entrada, por exemplo, websockets ou observáveis).

    Detalhes

  • strict

    • type: Boolean
    • default: false

    Força o store Vuex em modo estrito. No modo estrito, qualquer mutação ao estado do Vuex fora dos manipuladores de mutação acusará um erro.

    Detalhes

Vuex.Store Propriedades da instância

  • state

    • type: Object

    O estado raiz. Apenas leitura.

  • getters

    • type: Object

    Expõe os getters registrados. Apenas leitura.

Vuex.Store Métodos da Instância

  • commit(type: string, payload?: any, options?: Object) | commit(mutation: Object, options?: Object)

Confirma uma mutação. options pode ter root: true que permite confirmar mutações da raiz em módulos namespaced. Detalhes

  • dispatch(type: string, payload?: any, options?: Object) | dispatch(action: Object, options?: Object)

Despacha uma ação. options pode ter root: true que permite enviar ações para raiz em módulos namespaced. Retorna Promise que resolve todos os manipuladores de ação acionados. Detalhes

  • replaceState(state: Object)

Substitua o estado da raiz do store. Use isso apenas para fins de hydration / time-travel.

  • watch(getter: Function, cb: Function, options?: Object)

Visualiza de forma reativa um valor de retorno da função getter e chama o callback para o retorno de chamada quando o valor mudar. O getter recebe o estado do store como o 1º argumento e os getters como o 2º argumento. Aceita um objeto de opções opcional que leva as mesmas opções que o método vm. $ Watch do Vue.

Para parar de visualizar, chame para a função do manipulador retornada.

  • subscribe(handler: Function)

Assina as mutações do store. O handler é chamado após cada mutação e recebe o descritor de mutação e o estado pós-mutação como argumentos:

  store.subscribe((mutation, state) => {
    console.log(mutation.type)
    console.log(mutation.payload)
  })

Usado com mais frequência em plugins. Detalhes

  • subscribeAction(handler: Function)

Novo em 2.5.0

Assina as ações do store. O handler é chamado para cada ação despachada e recebe o descritor de ação e o estado atual do store como argumentos:

  store.subscribeAction((action, state) => {
    console.log(action.type)
    console.log(action.payload)
  })

Usado com mais frequência em plugins. Detalhes

  • registerModule(path: string | Array<string>, module: Module, options?: Object)

Registra um módulo dinâmico. Detalhes

options pode ter preserveState: true que permite preservar o estado anterior. Util para renderização server-side.

  • unregisterModule(path: string | Array<string>)

Cancela o registro de um módulo dinâmico. Detalhes

  • hotUpdate(newOptions: Object)

Faz Hot swap de novas ações e mutações. Detalhes

Métodos Auxiliares dos Componentes

  • mapState(namespace?: string, map: Array<string> | Object): Object

Cria componentes computadas de opções que retornam a subárvore do store Vuex. Detalhes

O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes

  • mapGetters(namespace?: string, map: Array<string> | Object): Object

Criar opções computadas do componente que retornam o valor avaliado de um getter. Detalhes

O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes

  • mapActions(namespace?: string, map: Array<string> | Object): Object

Cria um componente com métodos e opções que despacham uma ação.

Detalhes

O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes

  • mapMutations(namespace?: string, map: Array<string> | Object): Object

Cria um componente com métodos e opções que confirmam uma mutação. Detalhes

O 1º argumento pode ser opcionalmente uma String com namespace. Detalhes

  • createNamespacedHelpers(namespace: string): Object

Cria um componente namespaced dos métodos auxiliares. O objeto retornado possui mapState, mapGetters, mapActions e mapMutations, que estão conectados com o dado namespace. Detalhes