Laravel,vue 怎么实现游客刷新之后,只显示点过赞的那条评论被点赞,而不要所有的评论都显示被点赞?

用 vue 做的点赞和点踩组件。

用的 localstorage 存储了游客用户是否已点赞(点赞就设定 isLike 为 1,取消点赞则移除 isLike ),刷新之前一切都好好的。 刷新之后,因为在 mounted 方法里面判断 localstorage 是否有值,有的话改变点赞按钮的状态(颜色,文本)。 结果:只要点过了一个评论的赞,所有的评论都显示被点过赞了。

想再存一个被点赞的评论 id 进 localstorage 的,然后在 mounted 里面判断此评论 id 是否有值,但是这样每次都刷新了 localstorage 里面的值,所以只能显示其中一条被点过赞,不能显示几条。

想了几天没想出来,请各位大神不吝赐教。

mounted() {
    if(localStorage.getItem('isLike')==='1'){
        this.isLikeReview=true
    }else if(localStorage.getItem('isHate')==='1'){
        this.isHateReview=true
    }else if(this.is_login) {
        axios.get(`/reviews/${this.review}/like`)
            .then(response => {
                // console.log(response);
                this.isLikeReview = response.data.is_like_review;
            });
        axios.get(`/reviews/${this.review}/hate`)
            .then(response => {
                this.isHateReview = response.data.is_hate_review;
            })
    }
},
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

可以使用 session 把点过赞的文章 id 放到 session 里面,显示的时候判断一下 session 里有没有这个值就好

6年前 评论

@MIsakas 谢谢!
因为不是重要的信息,不想兜一圈,还是想在前端处理。

6年前 评论

localstorage 没有用过,不过好像可以也可以存键值对,把 id 存成一个数组不行吗

6年前 评论

@MIsakas 嗯,localstorage原则只能存字串。
现在在想搞个vuex,然后弄个全局变量(里面存数组),需要和localstorage交互的时候再进行[数组<->字符串]的转化,不知道行不行。

6年前 评论

可以存 json 格式的

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!