美文网首页Vue移动端
vue实现收藏功能2018-10-17

vue实现收藏功能2018-10-17

作者: TTTXTTT | 来源:发表于2019-02-28 09:56 被阅读137次

先部署好整体的逻辑样式,点击收藏变红心,未收藏是灰色

。将收藏状态缓存到localstorage里面,这样的话,刷新状态依然是收藏。

每个商家的页面url应该是有不同商家的id作为url参数的,我们要通过一个方法去拿到url

将方法抽离为公共函数,将url 的参数部分解析成一个对象,里面包含key:value这样的值

拿到url参数的方法:window.location.search

使用正则表达式解析url参数为对象

拓展属性的方法: Object.assign()

方法:

1.在一开始获取seller的时候,通过一个立即执行函数获取id。

APP.vue

2.定义公共方法urlParse

decodeURIComponent

正则http://tool.oschina.net/uploads/apidocs/jquery/regexp.html

然后再页面引入之后,使用console.log(queryPrama);

会得到结果:

就是我们想要的结果。

这样的话,我们通过函数将url参数转换成想要的对象格式,并且将它通过id立即执行函数传给seller, 就可以通过seller.id得到这个对象了。

在发送请求时,将this.seller.id带上

在XHR异步请求里,可以查看到

请求的文件自己加上了参数。

如果要直接使用seller.id 来获取id的话,需要使用assign来拓展属性。

输出结果是123123。说明可以直接使用seller.id取到url的id值了。

。下面开始建立缓存

localstorage要与商品不同的id关联起来才可以,不能直接写。

建立一个管理数据存取的js文件  store.js  。

使用:

引入这两个方法

在转换收藏状态的函数下面引入方法储存状态

测试:

如果是第一次收藏之前,没有创建seller的情况下,控制台输入localStorage发现__seller__字段长度为1,只有一个warn,而收藏之后,seller字段长度变为2,出现seller字段为

再次刷新页面,依然保持收藏状态。

而取消收藏之后,seller字段为:

key的值变为false了。

再次刷新依然为未收藏。

设置localstroge成功。

相关文章

  • vue实现收藏功能2018-10-17

    先部署好整体的逻辑样式,点击收藏变红心,未收藏是灰色 。将收藏状态缓存到localstorage里面,这样的话,刷...

  • VUE+WebRTC实现音视频直播

    如何使用 Vue 实现音视频功能 1 功能简介 本文将介绍如何快速使用 Vue 实现一个简单的实时音视频通话。 相...

  • vue+element+vue-cropper实现图片裁剪功能

    vue+element+vue-cropper实现图片裁剪功能 1、下载插件:npm install --save...

  • vue component组件

    使用vue的component组件实现动态点击按钮功能:

  • iview实现收藏功能

    需求:在table中实现收藏,效果如下 由于是table标签,需要使用render函数,本来是用了Icon组件,但...

  • 收藏功能的实现

    介绍收藏功能的实现。 首先是建立关联关系,一个用户会收藏多篇文章,每篇文章又可以被多个用户收藏: class Us...

  • vue使用vue-i18n实现多国语言切换

    在vue的项目实现多国语言的切换的一个功能,用到vue-i18nvue插件,主要实现的一个功能就是通过select...

  • react实现路由守卫

    与vue不同,vue直接使用beforeEach即可实现全局路由守卫等功能。react要实现路由守卫得自己配置。实...

  • 小程序入门技术点总结第三篇

    今天这篇分享几个小功能点,主要讲如何让实现。 1、页面的收藏和分享功能 2、背景音乐播放 一、页面的收藏和分享功能...

  • nuxt中引入vue-video-player插件

    使用vue-video-player实现直播功能 安装vue-video-player 引入插件 在plugins...

网友评论

    本文标题:vue实现收藏功能2018-10-17

    本文链接:https://www.haomeiwen.com/subject/bkplzftx.html