javascript - vue localStorages相关 路由传值页面刷新后报错
问题描述
代码相关:
刚开始学习vue的菜鸡一只,js基础不是太好,有什么不对的地方尽管批评指出谢谢。
productList页面进行跳转,然后根据index值取本地json数组中的数据来展现不同的页面数据,点击跳转后没什么问题,然后刷新之后取不到值了,提示
[Vue warn]: Error in data(): 'SyntaxError: Unexpected token u in JSON at position 0'
搜了错误信息的解释但是还是不太理解,我是按慕课的一个vue的基础教学里面保存localStorages的方法来的,是哪里写错了吗?
<li v-for='(item,index) in filterList' > <router-link :to='{ name: ’detail’, params: { id: index }}'> </router-link></li>
//store.jsconst STORAGE_KEY = ’epmobile’export default { fetch() {return JSON.parse(window.localStorage.getItem(STORAGE_KEY) || ’[]’) }, save(items) {window.localStorage.setItem(STORAGE_KEY, JSON.stringify(items)) }}
//detail 页面<script>import Store from ’../store/store’export default { data() {return { articleList: ’’, index: Store.fetch()} }, mounted() {this.$nextTick(function () { this.index = this.$route.params.id this.get_articleList()}) }, watch: { index: { handler: function (index) { Store.save() }, deep: true } }, methods: {get_articleList: function () { this.$http.get(’/api/article.json’).then(response => {let res = response.dataif (res.status == 0) { this.articleList = res.result.articleList[this.index]} })} }}</script>
{ 'status': 0, 'result': {'articleList': [ {'title': '111','productImg': '/static/images/product_e/01.jpg','productText': 'xxxxx','companyInfo': { 'name': 'xxxx', 'url': 'xxxxx', 'boothNumber': 'xxxx'} }, {'title': '2222222222', 以下省略... }] }}
问题解答
回答1:大概率是json格式错误首先你去判断一下错误出在哪里
先把mounted全部注释
看看会不会报错
然后一条一条的加进去
localStorage的值如果你使用的chrome,打开f12在application那里就能看到
大概率出现的原因是,你在一json格式保存数据之前先获取了一个非json数据,然后json.parse就报错了
相关文章:
1. 为什么span的color非要内联样式才起作用?2. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图3. css - div设置float:left后高度设置自动会无效 ?4. golang - 用IDE看docker源码时的小问题5. docker start -a dockername 老是卡住,什么情况?6. 手机开发 - Android蓝牙模块连接后怎么接收数据?求助7. 小白问题getDay()8. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战9. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?10. 老师,请问我打开browsersync出现这个问题怎么解决啊?

网公网安备