微信小程序实现收藏功能从一个页面渲染到另外一个页面 代码
时间: 2024-03-01 12:54:44 浏览: 32
以下是一个简单的示例代码,实现从一个页面收藏商品并渲染到收藏页面:
1. 商品页面代码:
```html
<!-- 商品页面 -->
<view>
<text>商品名称:{{product.name}}</text>
<text>商品价格:{{product.price}}</text>
<button bindtap="addToFavorites">收藏</button>
</view>
```
```javascript
// 商品页面的js代码
Page({
data: {
product: { // 商品信息
name: '商品名称',
price: 99.9
},
isFavorite: false // 是否已收藏
},
onLoad: function() { // 页面加载时,检查商品是否已收藏
let favoritesList = wx.getStorageSync('favoritesList') || [];
let isFavorite = favoritesList.some(item => item.name === this.data.product.name);
this.setData({
isFavorite: isFavorite
});
},
addToFavorites: function() { // 添加到收藏夹事件处理函数
let favoritesList = wx.getStorageSync('favoritesList') || [];
if (!this.data.isFavorite) { // 如果未收藏,则添加到收藏夹
favoritesList.push(this.data.product);
} else { // 如果已收藏,则从收藏夹中删除
favoritesList = favoritesList.filter(item => item.name !== this.data.product.name);
}
wx.setStorageSync('favoritesList', favoritesList); // 更新本地缓存
this.setData({
isFavorite: !this.data.isFavorite
});
// 提示操作结果
wx.showToast({
title: this.data.isFavorite ? '已收藏' : '已取消收藏',
icon: 'success',
duration: 2000
});
}
})
```
2. 收藏页面代码:
```html
<!-- 收藏页面 -->
<view>
<view wx:for="{{favoritesList}}" wx:key="{{index}}">
<text>商品名称:{{item.name}}</text>
<text>商品价格:{{item.price}}</text>
</view>
</view>
```
```javascript
// 收藏页面的js代码
Page({
data: {
favoritesList: [] // 收藏夹列表
},
onShow: function() { // 页面显示时,加载收藏夹列表
let favoritesList = wx.getStorageSync('favoritesList') || [];
this.setData({
favoritesList: favoritesList
});
}
})
```
以上代码仅供参考,具体实现可根据实际需求进行调整。