(急-悬赏解决)vue+mui 上拉刷新和下拉加载无效

第一次打开的时候是没有问题id,第二次(切换路由到其他页面,再回来就没用了);
在生命周期方法created,updated mounted中都试过了,还是无效,啊 气疯了!求帮忙解决啊!!!

<template>
    <div>
        <div class="mui-content">
            <!--下拉刷新容器-->
            <div id="lists" class="mui-content mui-scroll-wrapper" style="margin-bottom: 4rem;">
                <div class="mui-scroll">
                    <!--数据列表-->
                    <ul class="mui-table-view mui-table-view-chevron">
                        <li class="mui-table-view-cell" v-for="(topic,index) of topics"><a class="mui-navigate-right">Item {{index}}</a></li>
                    </ul>
                </div>
            </div>
        <nav-components></nav-components>
        </div>
    </div>
</template>
<script scoped>

    import navComponents from './nav.vue'

    export default {
        components: {navComponents},
        name: "index",
        data() {
            return {
                topics: [],
            }
        },
        methods: {
            pulldownRefresh: function () {
                alert();
            },
            pullupRefresh: function () {
                var count = 0;
                var that = this;
                setTimeout(function() {
                    that.topics.push({
                        "id": 14,
                        "content": "xxxxx。",
                        "clicl_number": 0,
                        "support_number": 0,
                        "create_time": "2018年07月23日 17:02:04",
                        "user": {
                            "nickname": "测试账户002",
                            "face_url": "http://thinkpjax.cn/xxxxxxx.jpeg"
                        }
                    });
                }, 1500);
            }
        },
        mounted: function () {
            var that = this;
            mui("#lists").scroll({
                deceleration: 0.0006,
                scrollY: true, //是否竖向滚动
                bounce: true,    ///是否启用回弹
            });
            
        },
        created(){
            mui.init({
                pullRefresh: {
                    container: '#lists',
                    up: {//上拉加载
                        auto:true,//可选,默认false.自动上拉加载一次
                        contentrefresh: '正在加载...',
                        contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;
                        callback: this.pullupRefresh
                    }
                }
            });
        },
    }
</script>
阅读 5.1k
3 个回答

你的 router-view 是不是用 keep-alive 包裹了? 这样子的话 createdmounted 在路由在再次切进来时是不会触发的.

mui.init()不执行,我也碰到这个问题了,楼主是咋解决的

楼主,问题解决了没,我也遇到同样的问题,急求答案

问题已解决,借用其他帖子的答案

源码中有一段`javascript
/**

  • 单页配置 初始化
  • @param {object} options

*/
$.init = function(options) {

$.options = $.extend(true, $.global, options || {});
$.ready(function() {
$.doAction('inits', function(index, init) {
var isInit = !!(!inits[init.name] || init.repeat);
if (isInit) {
init.handle.call($);
inits[init.name] = true;
}
});
});
return this;
};
因此你需要在你的created内每次调用mui.init前 加入代码:

for(var i = mui.hooks.inits.length-1,item;i>=0;i--){

item=mui.hooks.inits[i];
if(item.name=="pullrefresh"){
    item.repeat=true;
}

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题