博客
关于我
夜光带你走进 微信小程序开发(二十六)擅长的领域
阅读量: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/

你可能感兴趣的文章
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MYSQL8.0以上忘记root密码
查看>>
Mysql8.0以上重置初始密码的方法
查看>>
mysql8.0新特性-自增变量的持久化
查看>>
Mysql8.0注意url变更写法
查看>>
Mysql8.0的特性
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>