Javascript localstorage.getItem()在NUXT JS中不工作
我正在尝试用nuxt js开发一个购物车。我已成功将购物车数据存储在本地存储器中,但无法检索数据。Javascript localstorage.getItem()在NUXT JS中不工作,javascript,vue.js,nuxt.js,vuex,nuxtjs,Javascript,Vue.js,Nuxt.js,Vuex,Nuxtjs,我正在尝试用nuxt js开发一个购物车。我已成功将购物车数据存储在本地存储器中,但无法检索数据。 注意:我不想使用vuex persistedstate。我发现这有很多小问题 首先,根据您提交的saveInLocalStorage的事实判断,您似乎已经将addToCart和saveInLocalStorage放在了一起 突变只能用于设置单个Vuex变量的状态 它们应该是纯的,这意味着它们不应该有副作用 在使用dispatch运行saveInLocalStorage操作之前,您需要为saveI
注意:我不想使用vuex persistedstate。我发现这有很多小问题 首先,根据您提交的
saveInLocalStorage
的事实判断,您似乎已经将addToCart
和saveInLocalStorage
放在了一起
突变只能用于设置单个Vuex变量的状态
它们应该是纯的,这意味着它们不应该有副作用
在使用dispatch
运行saveInLocalStorage
操作之前,您需要为saveInLocalStorage
使用操作,并对addToCart
执行操作
其次,不清楚您实际上在哪里运行这个从本地存储获取的功能。您是否在Vuex商店的顶级运行它
如果是这样,为了解决它不更新Vuex存储的实际问题,您需要让函数负责获取storedCart
的值,并使用它将cart
设置为变异,以确保Vuex存储实际更新
最后,这里不需要使用三元数。只需将Vuex
cart
对象设置为空数组。确切的问题是什么?一个错误,没有返回任何数据,响应与预期的不同?请查看我检查的第一个文件,看看本地存储中是否有可用的数据,然后显示该数据。如果不是,则显示一个空数组。但它总是返回空数组。请阅读我的答案。这里有很多问题。要使Vuex具有反应性,您需要在提交中更新值。其次,提交应该总是没有副作用,只更新单个存储项。您可以链接提交,或者使用actionsCan从提交中运行其他方法。您可以告诉我如何创建一个函数来更新cart并将其设置为storeCartWell,这只是通过一个变异完成的。你的意思是从本地存储器加载并设置它吗?同样,这也一定是一种变异。任何更新Vuex变量的操作都必须是变异。任何有副作用的东西都需要采取行动。动作可以使用突变。阅读以下内容:)要了解操作,您应该创建一个保存到本地存储的操作,然后提交一个变种以推送到购物车。然后,您应该创建一个从本地存储获取的变异,并设置存储数据,假设我有一个变异getCartFromLocal(),其中我从本地存储获取数据。我应该在哪里进行变异?你可以在任何地方调用它,真的。我个人会在布局/页面组件的created()
lifecycle钩子中调用它,这是第一个最顶级的组件。如果它依赖于先安装的组件,请使用mounted()