请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

怎样动态地改变posts-data.js里面的值呢?我想实现记录页面浏览的数量。

怎样动态地改变posts-data.js里面的值呢?我想实现记录页面浏览的数量。事实是能够获取里面的值,但是却不能改变这个值。

onPostTap:function(event){       
    var postId=event.currentTarget.dataset.postid;    //获取点击的ID号
    wx.navigateTo({
      url:"post-detail/post-detail?id="+postId,
    });
    postsData.postlists[postId].reading = postsData.postlists[postId].reading+1;//将reading的值+1
    console.log(postsData.postlists[postId].reading);        //打印的值也是对的,但是posts-data.js里面reading的值还是没有改变

  },

也使用了设置缓存的方法,不过也没啥用,请老师指点一下,谢谢。

正在回答 回答被采纳积分+3

2回答

女神旭 2017-09-24 10:40:43
post.js中:

   onShow: function (option) {

      this.getStorageData();

   },
   //加载缓存数据
   getStorageData: function () {
      var getPostsView = wx.getStorageSync('posts_view');//获取本地缓存
      var length = PostsData.postList.length;
      for (var i = 0; i < length; i++) {                 //循环加载
         var getPostView = getPostsView[i];
         var postdata = PostsData.postList[i].viewed;
         if (getPostView == null) {
            getPostView = 0;
         }
         PostsData.postList[i].viewed = getPostView;
      }                                                  //数据绑定
      this.setData({
         postList: PostsData.postList,
      })
   }
})

post-detail.js:
onlaod函数中
  // 浏览缓存
      var postsView = wx.getStorageSync("posts_view");
      if (postsView) {
         var postView = postsView[postId];
         if(postView==null){
            postView = 0;
         }
            postsView[this.data.CurrentPostId] = postView;
            wx.setStorageSync('posts_view', postsView);
            // this.data.Postdata.viewed = postView;
         this.setData({
            viewed: postView,
            // Postdata: this.data.Postdata
         })
      }
      else {
         var postsView = {};
         postsView[postId] = 0;
         wx.setStorageSync('posts_view', postsView);
      };



  onViewNumber: function (event) {
      var postsView = wx.getStorageSync('posts_view');
      var postView = postsView[this.data.CurrentPostId];
      postView++;
      postsView[this.data.CurrentPostId] = postView;
      wx.setStorageSync('posts_view', postsView);
      // that.data.Postdata.viewed = postView;
      this.setData({
         viewed: postView,
         // Postdata: that.data.Postdata
      });
   }


0 回复 有任何疑惑可以回复我~
7七月 2017-08-02 15:42:33

动态改变,不会记录在文件里,而是会用服务器的数据库来记录。

0 回复 有任何疑惑可以回复我~
  • 提问者 normcore #1
    那现在没有服务器的话,就不能改变这个浏览值了?还是不用文件里面的reading的值?
    回复 有任何疑惑可以回复我~ 2017-08-02 17:19:43
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号