h5+ 缓存:
存:
localStorage.setItem('$' +userId, JSON.stringify(userInfo));
取:
var userStr = localStorage.getItem('$' +userId); 得到JSON,然后 userInfo= JSON.parse(userStr|| "{}");
清除对应缓存:
localStorage.removeItem('$' +userId);
清除所有缓存:
localStorage.clear();
下拉刷新处理:
官方给的下拉刷新是请求最新的数据,然后往标签最前插入,这样不符合接口的设计,从原生的角度出发,一般是请求数据库中最新的数据后通知适配器更新,所以在请求成功后可以通过类似的处理:
if(data) {
var ul = document.getElementById('content');
if(i != 0) {
ul.innerHTML = '';
}
ul.appendChild(showList(data));
i = 1;
}
通过 ul.innerHTML = ""; 清除掉子标签,然后重新appendChild。
mui下拉刷新加载框显示位置处理:
mui.init({
pullRefresh: {
container: '#content',//下拉刷新的容器
down: {
style: 'circle',
offset: '44px', //距离顶部边距,此处设置为标题的高度,也就是在加载进度框设置在标题下方下拉显示
auto: true,//第一次进来自动加载
callback: pulldownRefresh//下拉回调方法
} //,
// up: {
// // auto:true,
// contentrefresh: '正在加载...',
// callback: pullupRefresh
// }
}
});
窗口管理:
打开窗口:
mui.openWindow({
url: 'normal/workoder.html',
id: "normal/workoder.html",
extras: {//参数传递
inspInfo: data[this.index]
}
});
关闭当前窗口:plus.webview.currentWebview().close();
获取某个窗口:var home= plus.webview.getWebviewById('home/home.html'); 可用来返回刷新:home.reload(true);
mui页面回调: a页面 -> b页面, b页面执行完后回调a页面的方法并关闭:
a页面(接收回传):
function getContact(e) {
var val = e.detail.inputVal;
document.getElementById("contact-value").innerText = val
};
window.addEventListener('contact', getContact);
b页面:
document.getElementById("save").addEventListener("tap", function() {
var view = plus.webview.getWebviewById("mine-info.html"); //括号内是上个页面的id
mui.fire(view, 'contact', {//告诉那个窗口的哪个方法
inputVal:$("#contact").val() //参数
});
mui.back()
});