|
[App引擎]
利用LocalStorage存储及Viewappear事件实现页面跳转和局部刷新
[复制链接]
APICloud中利用LocalStorage可以实现全局变量,利用此全局变量可以保存json对象的特点,可以实现页面间的参数传递,比如弹出一个页面修改一条记录,关闭页面通知原页面更改对应的内容,避免页面的reload。
A页面:
在A页面添加一个元素响应时间openNewB();打开B页面
//(1)打开页面事件
function openNewB () {
var restData={};
restData.tid="BBB";
var key = 'restData';
$api.setStorage(key, restData);
api.openWin ({
name: type,
url: './B.html',
pageParam:{tid:1},
rect:{
x:0,
y:0,
w:'auto',
h:'auto'
},
bounces: false,
delay:200
});
}
//(2)A页面增加监听事件'viewappear'},
apiready = function () {
api.addEventListener({name: 'viewappear'}, function(ret, err){
var key="restData";
restData = $api.getStorage(key);
//根据B页面更新的数据刷新A页面的局部
alert(restData.tid);
});
api.setRefreshHeaderInfo({
visible: true,
bgColor: 'rgba(0,0,0,0)',
textColor: '#666',
textDown: '下拉刷新',
textUp: '释放刷新'
}, function(ret, err){
//alert("AAA");
loadTopData();
});
}
B页面:
//页面加载时获得传递过来的参数--一个json对象
//如果是修改的元素,先显示出来,将更改的对象在存储到LocalStorage中,供A页面访问
apiready = function() {
//alert(api.pageParam.restData.tid);
//a.tid+="添加";
var key="restData";
restData = $api.getStorage(key);//获得传递过来的对象
restData.tid+="添加!";
alert(restData.tid);
}
|
|