Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

32 linhas
604 B

2 anos atrás
import { InjectionKey } from 'vue'
import { createStore, useStore as baseUseStore, Store } from 'vuex'
2 anos atrás
// 为 store state 声明类型
export interface State {
num: number
}
// 定义 injection key
export const key: InjectionKey<Store<State>> = Symbol()
export const store = createStore<State>({
2 anos atrás
state: {
num: 888
},
mutations: {
setNum (state: State, num: number) {
state.num = num
2 anos atrás
}
2 anos atrás
},
getters: {
getNum (state: State) {
return state.num
}
}
2 anos atrás
})
// 定义自己的 `useStore` 组合式函数
2 anos atrás
export function useStore () {
return baseUseStore(key)
}