这里的想法是做一个商城,商城意味着有产品列表和购物车列表。所以产品信息数据应该是共用的。但是在以往的微信程序中,每个页面的.js文件里面的data数据只能供自己页面的wxml和wxss文件渲染,其他的文件读取不到。所以商品数据不能单纯的放在购物车页面或者商品页面的.js文件中。
所以本文的重点是怎么单独创建一个公用文件来存放数据共享给其他文件调用
步骤:
1.新建一个.js文件,放在utils文件夹中,里面写好data数据,然后用一个导出语句module.exports将数据导出
(module.exports 提供了暴露接口的方法,声明这个模块对外暴露什么内容。)
2.在需要数据的页面的.js文件中创建一个变量shopObj,将导出的数据赋值给这个变量
3.在.js文件中的监听页面加载函数中调用导入的数据,注意:要使用this.setData函数执行赋值操作,不能直接赋值。
(同时还要注意在setData语句中赋值号是 “ :” 而不是“ = ”)
注意这里的commodityList是js页面的data属性里的数组值
要通过setData函数将shopObj.data.commodityList的值赋给页面的data里面,因为渲染层只能读取到data里面的数据。
如果在函数里面对commodityList数据进行修改,比如进行加减操作,就也要在后面的setData里面把函数里修改好的数据绑定到data数据里面。要不然函数里对数据进行的修改操作渲染层也获取不到!!!