nuxt 获取 state
时间: 2024-03-20 22:14:04 浏览: 17
在 Nuxt.js 中,你可以通过 `this.$store.state` 访问 Vuex store 中的 state。例如,如果你想获取 `user` 模块的 state,你可以这样写:
```
this.$store.state.user
```
如果你想在组件中使用 `user` 模块的 state,也可以使用 `mapState` 辅助函数来简化代码。例如:
```js
import { mapState } from 'vuex'
export default {
computed: {
...mapState('user', {
currentUser: state => state.currentUser
})
}
}
```
这样就可以通过 `this.currentUser` 访问 `user` 模块的 `currentUser` 状态了。
相关问题
nuxt中的middleware获取不到state
对于这个问题,我可以回答。在 Nuxt 中,middleware 是在服务端和客户端都会执行的函数,它可以访问到 Vuex 的 state。但是需要注意的是,在服务端执行 middleware 时,state 是从服务端获取的,而在客户端执行 middleware 时,state 是从服务端渲染的 HTML 中获取的。如果您的 middleware 无法获取到 state,可能是因为您的 state 没有被正确初始化或者您的 middleware 的执行顺序不正确。您可以检查一下您的代码,或者提供更多的细节,以便我能够更好地帮助您解决问题。
nuxtjs中怎么获取localstorage
您可以通过在Nuxt.js组件中使用$accessor属性来获取localStorage,例如:
//页面中
export default {
mounted() {
console.log(this.$accessor.storage.getItem('key'))
}
}
//在store中
export const state = () => ({
storage: localStorage
})