defaults: {
disableVuex: true,
},
- hooks: {},
setup(options, nuxt) {
// Disable default Vuex store (options.features only exists in Nuxt v2.10+)
if (nuxt.options.features && options.disableVuex) {
declare module '@nuxt/types' {
export interface Context {
- // TODO: test out if correct
- // pinia: Pinia
+ /**
+ * Pinia instance attached to the app.
+ */
+ pinia: Pinia
+
/**
* Pinia instance attached to the app.
*/
import { createPinia, setActivePinia, PiniaPlugin } from 'pinia'
if (isVue2) {
- Vue2(PiniaPlugin)
+ Vue2.use(PiniaPlugin)
}
/**
const pinia = createPinia()
// add $pinia to the context
inject('pinia', pinia)
- // TO
// to allow accessing pinia without the $
- // context.pinia = pinia
+ context.pinia = pinia
if (isVue2) {
// simulate new Vue({ pinia })
context.app.pinia = pinia
+ } else {
+ // TODO: does this work?
+ context.app.use(pinia)
}
setActivePinia(pinia)