微信小程序点赞+取消点赞多项点击
微信小程序点赞+取消点赞多项点击
最近接触到小程序,发现很有意思。在项目中遇到了一点小问题,就是点赞+取消点赞有些冲突,还有就是多项的点击。话不多说咱们直接上代码!!!!
效果图
首先,我们来看一下效果图:
![效果图]( index.wxml -->
{{item.content}}
```
js
```javascript// index.jsPage({
data: {
msgList: [
{ id:1, content: '这是第一个消息' },
{ id:2, content: '这是第二个消息' },
{ id:3, content: '这是第三个消息' }
]
},
handleLike(e) {
const id = e.currentTarget.dataset.id;
const msgList = this.data.msgList;
const index = msgList.findIndex(item => item.id === id);
if (index !== -1) {
msgList[index].isLiked = !msgList[index].isLiked;
this.setData({ msgList });
}
}
});
```
css
```css/* index.css */
.msg-item {
padding:10px;
border-bottom:1px solid ccc;
}
.msg-item button {
float: right;
}
```
在上面的代码中,我们定义了一个`msgList`数组,包含三个消息对象,每个对象都有一个`id`和一个`content`属性。我们还定义了一个`handleLike`函数,它会根据点击的按钮的`data-id`属性找到对应的消息对象,并将其`isLiked`属性值取反。
点赞+取消点赞
当用户点击"点赞"按钮时,`handleLike`函数会被调用。它会找到当前点击的消息对象,并将其`isLiked`属性值取反。如果该属性值为`true`,则表示该消息已被点赞;如果为`false`,则表示未被点赞。
多项点击
在上面的代码中,我们使用了`wx:for`指令来循环遍历`msgList`数组中的每个对象。我们还使用了`bindtap`事件绑定到按钮的`handleLike`函数,以便当用户点击按钮时,可以找到对应的消息对象并执行相应操作。
总结
在本文中,我们讨论了微信小程序点赞+取消点赞多项点击的实现。我们使用了`wx:for`指令和`bindtap`事件绑定来实现循环遍历和点击事件处理。同时,我们还定义了一个`handleLike`函数来处理点赞和取消点赞的逻辑。
参考
* 微信小程序官方文档: 小程序开发指南: