博客
关于我
夜光带你走进 微信小程序开发(二十六)擅长的领域
阅读量:311 次
发布时间:2019-03-01

本文共 2245 字,大约阅读时间需要 7 分钟。

夜光序言:

 

吾挥兵摆一门星罗棋布,征战八荒,为尔争得万里繁华。

 

 

 

 

 

 

 

 
 
正文:
 
                                              以道御术 / 以术识道

 

 

// pages/news/news-detail/news-detail.jsvar newsData = require("../../data/newsdata.js")Page({  /**   * 页面的初始数据   */  data: {      // detailData:[] 这个初始化,我们也先不要  },  /**   * 生命周期函数--监听页面加载   * 夜光:这个生命周期函数用的情况比较多   */  onLoad: function (options) {    //  console.log(options.newsid)    console.log();    this.setData(      // 这个不行嗯~       // detailData:newsData.initData[options.newsid]      newsData.initData[options.newsid]    )    this.setData({      newsid: options.newsid    })    //测试本地存储    // wx.setStorageSync("key", "data") 我先把这句代码注释掉,接下来    // console.log(wx.getStorageSync("key"));    //收藏存储数据格式    //var newsCollect={    //   0:true    //   1:flase    //}    //第一次进入的时候,判断是否存在本地存储以及是否收藏,这里       var newsCollect = wx.getStorageSync("newsCollect");       //之后我们判断       //如果newsCollect存在,则代表以前收藏过或者取消过收藏       if (newsCollect){         var newCollect = newsCollect[options.newsid]         this.setData({           collected: newCollect         })       }else{         //第一次进入,根本不存在数据         var newsCollect = {}; //先定义一个空对象         //我把当前唯一id放到newsCollect对象中,默认指定false         newsCollect[options.newsid] = false; //这里,我们需要对对象和数组之间的关系有较为深刻的认识         //放到本地存储之中去         wx.setStorageSync("newsCollect", newsCollect)       }          },    //下面,我们写一个方法    collectTap:function(event){      //我们一般写方法,都会先在控制台随便打印点东西,看看是否有问题      // console.log("1")      // console.log(this.data.newsid); //打印看一下 有了效果,我们就可以干活了      // this.data.newsid      //既然如此,我们在这个里面就要存储了      //注意:newsCollect是所有数据的集合      var newsCollect = wx.getStorageSync("newsCollect"); //这里,我们数据存储的格式就是newsCollect      //这里需要提醒一下,第一次进来的时候就要判断数据是否存在      //但是这里并没有写,这里是进来之后的逻辑,这需要注意一下      //下面我们再定义一个一条的      // var newCollect = newsCollect      var newCollect = newsCollect[this.data.newsid];      // console.log(newCollect)      //这里是什么逻辑,如果是收藏的则被取消,如果未被收藏则收藏      newCollect = !newCollect; //反正取反么,true or false      //更新到本地存储中      newsCollect[this.data.newsid] = newCollect;      wx.setStorageSync("newsCollect", newsCollect); //newsCollect把这个集合的整体再放进去      //后台数据是更新了,那么前端的视图层如何更新呢      //下面就是渲染到,并更新视图      this.setData({        //暂时不知道,因为我们根本不知道视图是怎么改变的        collected: newsCollect[this.data.newsid]      })    }  })

 

 

 

 

转载地址:http://subo.baihongyu.com/

你可能感兴趣的文章
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>