android手机微信收藏功能实现,微信小程序收藏功能的实现代码

统一回复,这是我很久以前学习小程序时做的项目,当时是没问题的,最近很多人评论说收藏功能实现不了,但是因为工作原因没空弄

以下是我当时自学小程序的视频地址,里面有收藏的功能的视频,如有需要可以去看看

添加链接描述

给detail.wxml中的收藏图标添加属性:

952eb80b7a7249961e4ef7a8f18c36f7.png

catchtap是点击事件,wx:if的用法如下:

7a75c22602d2e2de6856cc4deacf2d51.png

detail.js

data: {

detailObj:{},

index:null,

// 是否收藏

isCollected:false

},

handleCollection(){

let isCollected = !this.data.isCollected

this.setData({

// 下面本来是这样子的:isCollected=isCollected,可以简写

isCollected

})

//提示用户

wx.showToast({

title: isCollected ? '收藏成功' : '取消收藏',

icon:'success'

})

},

结果图

ca1bf973f043c881136e000869d9efe9.png

602baafcfb0c852718f06168fc9981eb.png

看起来是可以了,但是不难发现当你退出页面再进来按钮又被重置了…

所以我们要把按钮状态保存下来.在handleCollection函数中继续添加:

//点击收藏图标后缓存数据到本地

//把data中的index放到新let出来的index中,因为下面要把index也存进去,要用index来判断你收藏了哪个页面

let { index } = this.data;

//首先去看一下缓存的数据

wx.getStorage({

key:'isCollected',

success:(data)=>{

let obj = data.data;

//如果有,则刷新,没有则追加

obj[index] = isCollected;

wx.setStorage({

key: 'isCollected',

data: obj,

success: () => {

}

});

}

})

在onLoad生命周期函数中添加逻辑:

//根据本地缓存的数据判读用户是否收藏当前文章

let detailStorage = wx.getStorageSync('isCollected')

//如果没有收藏

if (!detailStorage){

//初始化一个空的对象

wx.setStorageSync('isCollected', {});

}

//如果收藏了

if (detailStorage[index]){

this.setData({

isCollected: true

})

}

总结

到此这篇关于微信小程序收藏功能的实现代码的文章就介绍到这了,更多相关微信小程序收藏功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值