请稍等 ...
×

采纳答案成功!

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

postsCollectd[postId] = false; 执行报错

6-6节,点击第二个detail,else里面,一执行到postsCollectd[postId] = false;就提示

Cannot create property '1' on string '' Page Pages/posts/post-detail/post-detail catch error in lifeCycleMethod onLoad function

TypeError: Cannot create property '1' on string ''


正在回答

2回答

7七月 2016-12-28 16:00:26

仔细看一下,每个变量,这个问题就是你的变量 不是对象,而是一个字符串。建议 对着代码一步步的来,或者下载源代码对比一下。

0 回复 有任何疑惑可以回复我~
  • 提问者 _卡卡C #1
    非常感谢!是我敲错单词了
    回复 有任何疑惑可以回复我~ 2016-12-28 16:50:55
提问者 _卡卡C 2016-12-28 15:24:34
var postsData = require('../../../data/posts-data.js')
Page({
  data: {
  },
  onLoad: function (options) {
    var postId = options.id;
    this.data.currentPostId = postId;
    // this.data.postData = postData;
    this.setData({
      postData: postsData.postList[postId]
    })

    var postsCollectd = wx.getStorageSync('posts_collected');
    if (postsCollectd) {
      var postCollected = postsCollectd[postId];
      this.setData({collected : postCollected})
    }else{
      var postsCollected = {};
      postsCollectd[postId] = false;
      wx.setStorageSync({key:'posts_collectd',data:postsCollectd});
    }
  },
  onCollectedTap : function(event){
    var postsCollected = wx.getStorageSync('posts_collected');
    var postCollected = postsCollected[this.data.currentPostId];
    //收藏变成未收藏,未收藏变成收藏
    postCollected = !postCollected;
    postsCollected[this.data.currentPostId] = postCollected;
    // 更新文章是否收藏的缓存值
    wx.setStorageSync('posts_collected', postsCollected);
    // 更新数据绑定变量,从而实现切换图片
    this.setData({collected : postCollected});
  }
})


0 回复 有任何疑惑可以回复我~
  • 老哥你是怎么解决的呀,我试了一个下午了,求指点下,谢谢
    回复 有任何疑惑可以回复我~ 2017-12-14 16:23:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信