老师为什么我一点进去就是收藏状态呀。。
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 星