我用mui+vue+webpack+vue-router开发单页面web,初次加载页面时
mui.init({
pullRefresh: {
container: '#pullRefresh',
up: {
height: 50,
contentrefresh: '正在加载...',
contentnomore: '没有更多数据了',
callback: pullupRefresh
}
}
})
可以正常的调用上拉加载功能,但是我这时候进入其他页面再回来的时候,上拉加载功能就失效了。
是不是mui.init()只有在页面初次加载的时候才执行,而单页面web的页面跳转无法再次调用mui.init()去初始化上拉加载的功能呢,我要如何才能再次激活上拉加载功能?(不刷新页面的前提下)
5***@qq.com
- 发布:2017-06-14 11:02
- 更新:2017-08-08 16:24
- 阅读:2287
在init前面加入```javascript
for(var i = mui.hooks.inits.length-1,item;i>=0;i--){
item=mui.hooks.inits[i];
if(item.name=="pullrefresh"){
item.repeat=true;
}
}
这段是用来解决mui的库中这段代码的设置```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;
};
并且在vue的beforeDestory即该组件的销毁时```javascript
mui.options.pullRefresh=null;
这段是阻止你切换路由跳转回来发生组件错误的问题
2***@qq.com
你好,在init前面加的代码是指在mui.js里面加的吗?试过了,好像不好使了
2017-08-08 18:22
yunqifeiyang
这个代码是mui.js自己的,你在你的vue组件内,一般是mounted时候需要 mui.init(),在mouted内增加那个for循环,然后在组件的beforeDestory增加mui.options.pullRefresh=null;
2017-08-09 11:52