帖子
帖子
用户
博客
课程
12
返回列表 发新帖
0
帖子
0
勋章
2139
Y币
金融矿工 发表于 2016-3-28 15:05
楼主你好,请问你如何解决的啊

当FrameGroup 和 navigationBar 同时存在时,滑动切换FrameGroup 的同时要设置navigationBar 的选中状态;点击navigationBar 的item时,要切换到相应的FrameGroup 。由于这两个操作都会导致对方的回调,造成回调死循环。所以我们要做2个开关,来阻止回调死循环
   var NavigationCallBackEnable = false;
    var FrameGroupCallBackEnable = false;


    navigationBar  的 CallBack


    function callback(ret, err) {
            if (ret) {
                if (NavigationCallBackEnable) {
                    FrameGroupCallBackEnable = false; // 当点击NavigationBar的item时,阻止 FrameGroup 回调
                    api.setFrameGroupIndex({
                        name: 'prod-list-frameGroup',
                        index: ret.index,
                        scroll: false
                    });
                }
            }


           NavigationCallBackEnable = true; // 加载完后 允许 点击 NavigationBar的item时,进行FrameGroup的切换
            return;
      
        }


    FrameGroup 的 CallBack
   function CallBack(ret , err){
        if (ret) {
                var name = ret.name;
                var index = ret.index;
                if (FrameGroupCallBackEnable) {
                    NavigationCallBackEnable = false; // 当FrameGroup滑动切换时,阻止 NavigationBar回调
                    navigationBar.config({ key: "selectedIndex", value: index });
                }
                FrameGroupCallBackEnable = true; // 加载完后 允许 FrameGroup滑动切换时,进行NavigationBar中item的选中状态切换
            }
   }
20
帖子
0
勋章
90
Y币
非常有用
12
您需要登录后才可以回帖 登录

本版积分规则