老师为什么我一点进去就是收藏状态呀。。
btw我用ctrl+f把该页面所有的postCollected都替换成了collected

代码如下:
post-detail.wxml
<!-- 原则:先静后动,先样式后数据 -->
<view class="container">
<image class="head-image" src="{{headImgSrc}}"></image>
<view class="author-date">
<image class="avatar" src="{{avatar}}"></image>
<text class="author">{{author}}</text>
<text class="const-text">发表于</text>
<text class="date">{{dateTime}}</text>
</view>
<text class="title">{{title}}</text>
<view class="tool">
<view class="circle-img">
<image wx:if="{{collected}}" bind:tap="onCollectionTap" src="/images/icon/collection.png"></image>
<image wx:if="{{!collected}}" bind:tap="onCollectionTap" src="/images/icon/collection-anti.png"></image>
<image bind:tap="onShareTap" class="share-img" src="/images/icon/share.png"></image>
</view>
<view class="horizon"></view>
</view>
<text class="detail">{{detail}}</text>
</view>posts.js
// pages/posts/posts.js
//小程序中最基本的导入语法:
var postsData = require('../../data/posts-data.js')
Page({
// 页面的初始数据
data: {
},
// 生命周期函数--监听页面加载
onLoad: function (options) {
this.setData({
posts_key: postsData.postList
});
// this.setData({posts_content});
//console.log('onload')
},
//点击新闻列表中的item触发的事件
onPostTap:function(event){
//console.log(event)
var postId = event.currentTarget.dataset.postid
wx.navigateTo({
url:'post-detail/post-detail?id='+postId,
})
}
})post-detail.js
var postsData = require('../../../data/posts-data.js')
// pages/posts/post-detail/post-detail.js
Page({
/**
* 页面的初始数据
*/
data: {
collected:true
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var postId = options.id
this.data.currentPostId = postId
var postData = postsData.postList[postId]
this.setData({
//postData:postData 可以省略成下行
...postData
})
var postsCollected = wx.getStorageSync('postsCollected')
//先判断有没有缓存
if(postsCollected){
var collected = postsCollected[postId]
if (collected){
this.setData({
collected:collected
})
}
}
else{
var postsCollected = {}
postsCollected[postId] = false
wx.setStorageSync('postsCollected',postsCollected)
}
},
// 点击收藏按钮收藏文章
onCollectionTap:function(){
var postsCollected = wx.getStorageSync('postsCollected')
var collected = postsCollected[this.data.currentPostId]
collected = !collected
postsCollected[this.data.currentPostId] = collected
wx.setStorageSync('postsCollected',postsCollected)
this.setData({collected})
},
//点击分享按钮删除缓存
onShareTap:function(){
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})19
收起
正在回答
2回答
同学你好,这边将代码注释掉已经不是缓存状态了:

建议清除缓存重新编译试试:


祝学习愉快!
3.WebAPP开发与小程序
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星