帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
89
帖子
0
勋章
1万+
Y币

[App引擎] 利用LocalStorage存储及Viewappear事件实现页面跳转和局部刷新

[复制链接]
发表于 2015-1-27 20:03:03
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);               

  }         


8
帖子
0
勋章
915
Y币
感谢分享,直接exescript不更直接简单吗?
89
帖子
0
勋章
1万+
Y币
利用ecescript还是要实现一个事件的响应,我测试没有成功,调用不起来!利用viewappear是为了响应事件,利用Local Storage是为了跨页面传递参数!
0
帖子
0
勋章
4
Y币
兄弟你好。
我是群里的 掌声起来
非常感谢你帮助我解决了问题
以后有多的妞送你一个!
1682
帖子
10
勋章
4
Y币
哈哈哈哈,楼上要不要那么逗
24
帖子
0
勋章
83
Y币
黄骥朝 发表于 2015-1-28 09:58
兄弟你好。
我是群里的 掌声起来
非常感谢你帮助我解决了问题

顺便送我一个
0
帖子
0
勋章
4
Y币

我擦
脸皮比我还厚
臭味相投
我认你这个兄弟了!
20
帖子
0
勋章
296
Y币
那还不如sendEvent呢!
89
帖子
0
勋章
1万+
Y币
谢谢支持 啊!多多探讨!
8
帖子
0
勋章
67
Y币
感谢分享
12下一页
您需要登录后才可以回帖 登录

本版积分规则