微信小程序实现列表页的点赞和取消点赞功能!

3

微信小程序实现列表页的点赞和取消点赞功能!

微信小程序实现列表页的点赞和取消点赞功能

在微信小程序中,实现列表页的点赞和取消点赞功能是一个常见需求。下面我们将一步步地讲解如何实现这个功能。

1. 数据结构设计首先,我们需要设计数据结构来存储点赞信息。假设我们的列表页是展示文章的评论列表,我们可以创建一个 `Comment` 的模型,包含以下属性:

* `id`:评论 ID* `content`:评论内容* `zanCount`:点赞数量* `isZan`:是否已点赞(true/false)

2. 小程序逻辑层设计接下来,我们需要在小程序的逻辑层中实现点赞和取消点赞的功能。我们可以创建一个 `updateZan` 的方法,用于更新评论的点赞信息。

```javascript// updateZan.jsPage({

/

* 更新点赞 */

updateZan: function(e) {

var that = this;

var data = e.currentTarget.dataset;

var mid = data.mid; //评论 ID var cookie_mid = wx.getStorageSync('cookie_mid'); // 用户 ID // 判断是否已点赞 if (that.data.comments[mid].isZan) {

// 取消点赞 that.setData({

'comments[' + mid + '].zanCount': that.data.comments[mid].zanCount -1,

'comments[' + mid + '].isZan': false });

} else {

// 点赞 that.setData({

'comments[' + mid + '].zanCount': that.data.comments[mid].zanCount +1,

'comments[' + mid + '].isZan': true });

}

// 更新评论列表 that.setData({

comments: that.data.comments });

// 存储点赞信息 wx.setStorageSync('comment_zan_' + mid, {

zanCount: that.data.comments[mid].zanCount,

isZan: that.data.comments[mid].isZan });

}

});

```

3. 页面渲染在页面渲染时,我们需要将点赞信息渲染到评论列表中。

```javascript// index.jsPage({

data: {

comments: []

},

/

* 生命周期函数--监听页面加载 */

onLoad: function(options) {

// 获取评论列表 wx.cloud.callFunction({

name: 'getComments',

data: {}

}).then(res => {

this.setData({

comments: res.result.data });

});

}

});

```

4. 点赞和取消点赞的逻辑在 `updateZan` 方法中,我们需要实现点赞和取消点赞的逻辑。具体来说,我们需要:

* 判断是否已点赞* 更新评论的点赞信息* 存储点赞信息5. 页面渲染在页面渲染时,我们需要将点赞信息渲染到评论列表中。

```javascript// index.jsPage({

data: {

comments: []

},

/

* 生命周期函数--监听页面加载 */

onLoad: function(options) {

// 获取评论列表 wx.cloud.callFunction({

name: 'getComments',

data: {}

}).then(res => {

this.setData({

comments: res.result.data });

});

}

});

```

6. 点赞和取消点赞的逻辑在 `updateZan` 方法中,我们需要实现点赞和取消点赞的逻辑。具体来说,我们需要:

* 判断是否已点赞* 更新评论的点赞信息* 存储点赞信息7. 页面渲染在页面渲染时,我们需要将点赞信息渲染到评论列表中。

```javascript// index.jsPage({

data: {

comments: []

},

/

* 生命周期函数--监听页面加载 */

onLoad: function(options) {

// 获取评论列表 wx.cloud.callFunction({

name: 'getComments',

data: {}

}).then(res => {

this.setData({

comments: res.result.data });

});

}

});

```

8. 点赞和取消点赞的逻辑在 `updateZan` 方法中,我们需要实现点赞和取消点赞的逻辑。具体来说,我们需要:

* 判断是否已点赞* 更新评论的点赞信息* 存储点赞信息9. 页面渲染在页面渲染时,我们需要将点赞信息渲染到评论列表中。

```javascript// index.jsPage({

data: {

comments: []

},

/

* 生命周期函数--监听页面加载 */

onLoad: function(options) {

// 获取评论列表 wx.cloud.callFunction({

name: 'getComments',

data: {}

}).then(res => {

this.setData({

comments: res.result.data });

});

}

});

```

10. 点赞和取消点赞的逻辑在 `updateZan` 方法中,我们需要实现点赞和取消点赞的逻辑。具体来说,我们需要:

* 判断是否已点赞* 更新评论的点赞信息* 存储点赞信息

小程序点赞功能

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信公众号所有历史文章的标题/点赞数/阅读数统计

下一篇 云开发(微信-小程序)笔记(十四)---- 收藏,点赞(上)