参考技术A
使用模板生成页面的时候,页面设置都被模板配置好了。
页面设置提供了一些进阶的配置能力。
使用MisShop提供数据给其他地方使用的时候,最便捷的就是把这个页面定义为数据页面。访问这个页面的时候,得到会是JSON格式的页面数据。
例如:创建一个数据类型的页面,页面数据 bumen 是部门表的数据集。那么访问结果如下:
碰到计算复杂的数据的时候,先在格子上画出来,然后再用函数
DataSet.createByCells 把这些格子拼成一个数据集传递给前端。
DataSet.createByCells :用页面单元格构造数据集,第一行是列头,其他行是数据,支持扩展行列,第一个参数是起始格,第二个参数是终止格。
需求 :对用户按照部门分组统计人数以及id和,拼成一个JSON传递给其他页面。
3.定义页面数据 部门统计 ,初始化函数设置为: DataSet.createByCells(Cl.A1,Cl.C2)
4.页面设置中将页面类型修改为 数据 ,预览页面得到结果
后端限制数据
因为有些数据是计算需要,但又不希望前端能看到。
开发者可以在页面数据配置中,把希望获得的数据设置为前端数据,不希望获得的数据设置为后端数据。
前端可以只返回部分数据吗?
前端指定返回部分数据
前端请求的URL里添加参数 mis_request_datas 可以仅返回指定名称的页面数据。
例如添加参数 mis_request_datas=juese,ds,将仅返回juese和ds这两个数据。
完整请求路径示例:
localhost/misshop/cGFnZS_ns7vnu5_nrqHnkIYvYWE=.raq?mis_request_datas=juese,ds
从普通页面获得数据 (出于安全考虑,未来版本可能会取消这个功能。)
URL加上参数 mis_dataraq=true。
http://localhost/misshop/cGFnZS_nurXlkJHmoLzlrZDnlJ_miJBkcw==.raq?mis_dataraq=true
如果其他页面用到的数据是 globalData, 那么直接在当前页面修改 globalData 数据即可。
如果其他页面用到的数据是 storage, 那么直接在当前页面修改 storage 数据即可。
场景:(由 A 页面跳转到 B 页面)
在 B 页面完成某些操作后跳转(或返回)到 A 页面,同时如果 B 页面中某个操作执行成功后需要改变 A 页面的某个值,如果没有操作成功,就不需要改变 A 页面的值。
使用 wx.navgateBack
// B 页面完成某个操作后
if( res.code == 1 ){
var pages = getCurrentPages() //获取加载的页面( 页面栈 )
var currentPage = pages[pages.length - 1] // 获取当前页面
var prevPage = pages[pages.length - 2] //获取上一个页面
// 设置上一个页面的数据(可以修改,也可以新增)
prevPage.setData({
back: true
})
// 返回上一个页面(这个API不允许跟参数)
wx.navgateBack({
delta: 1 // 表示返回到上一个页面(如果值为2表示回退到上上一个页面)
});
}else{
// 不用执行任何操作
return false;
}