ericdodo
ericdodo
  • 发布:2014-12-29 22:50
  • 更新:2019-10-01 15:26
  • 阅读:2507

上拉加载初始化的问题

分类:MUI

标准手册中,关于上拉加载:
mui.init({
pullRefresh : {
container:refreshContainer,//待刷新区域标识,querySelector能定位的css选择器均可,比如:id、.class等
up : {
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;
callback :pullfresh-function //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
}
}
});

问题是:
我的callback function中,会使用到h5+ plus来获取本地数据记录。但是plus的使用是有个前提,需要在
mui.plusReady(function () { }中来初始化。
因此我的情况是,init过程中,无法使用plus来获取数据。

请问:
可以在mui.plusReady(function () {}中对上拉加载进行初始化的方案吗?

2014-12-29 22:50 负责人:无 分享
已邀请:
ericdodo

ericdodo (作者)

代码补充:
强行在ready回调中执行加载:plus可以获取到数据。
/**

  • 下拉刷新具体业务实现
    */
    function pulldownRefresh() {
    setTimeout(function () {
    var messageTable = document.getElementById('messageTable');
    var cells = document.body.querySelectorAll('.mui-table-view-cell');

            var newRows = messagesLoaded();  
            for (var i = 0; i < newRows.length; i++) {  
                var li = createLiForMessage(newRows[i]);  
                //下拉刷新,新纪录插到最前面;  
                messageTable.insertBefore(li, messageTable.firstChild);  
            }  
    
            mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed  
        }, 1500);  
    }  
    
    /******************************************callBack对象********************************************/  
    
    /******************************************业务处理********************************************/  
    mui.init({  
        swipeBack: false,       //关闭右滑关闭功能  
        pullRefresh: {  
            container: '#pullrefresh',  
            down: {  
                callback: pulldownRefresh  
            },  
            up: {  
                contentrefresh: '正在加载...',  
                contentnomore: '没有更多数据了',  
                callback: pullupRefresh  
            }  
        }  
    });  
    
    mui.plusReady(function () {  
        pulldownRefresh();  
    
    })  

错误信息:
Uncaught TypeError: Cannot call method '_endPulldownToRefresh' of undefined。

问题:
1:在mui.init中配置的callback,如果其中使用了plus,是否会有问题,理论上不能保证plus初始化完备,但目前我没发现plus取数据异常。pullRefresh的callback,是在什么情况下进行调用的?
2:所获得的异常请供参考,如何处理

DCloud_UNI_CHB

DCloud_UNI_CHB

如果上拉用到了plus的内容,需要将mui.init放在mui.plusReady中。

  • ericdodo (作者)

    谢了

    2014-12-30 10:59

维

http://www.rengong.cc/400/

该问题目前已经被锁定, 无法添加新回复