问题描述:子页面创建文章提交后,关闭,回到主页面,主页面 console.log有正确输出,但是新闻列表没刷新
主页面 tab-webview-subpage-article.html(预加载页面) 相关js:
//刷新文章列表页面
function listRefresh(order){
listClear();
//读取并显示文章列表数据
var userDataStr = localStorage.getItem('imeiUser');
var userObj = JSON.parse(userDataStr);
var orderBy = order?order:"created";
var xiala = "";
//第一次使用,本地没有存储用户信息,就设置localuid 为空,来取服务器数据
if (!userObj){var localuid='';}else{var localuid=userObj.uid;}
if (0){setTimeout(mui.toast("加载数据失败.."),1000);return;}else{
mui.ajax(siteUrl+"article/getArticleList/",{
data:{
uid:localuid,
orderType:orderBy,
showMore:xiala,
},
dataType:'json',
type:'get',
success:function (articleInfo,status) {
var adata=articleInfo.data;//获取json的data数据包,包含用户member所有信息
//遍历adata
for(var i in adata){
var dataOne=adata[i];
//截取日期
var adate=dataOne['created'].substr(0,10);
var item = document.createElement("li");
// item.setAttribute("id",dataOne['aid']);//li 的 id 等于 文章 的 aid
item.setAttribute("class", "mui-table-view-cell mui-media mui-col-xs-6");
//liStr 存储li的内容
var liStr = '<a id="'+dataOne['aid']+'" href="#" class="to_detail">'+
'<div class="picTitle">'+
'<h3>'+dataOne['title']+'</h3>'+
'<p>'+dataOne['contentsummary']+'</p>'+
'</div><div class="imgContainer">'+
'<img src="'+dataOne['thumburl']+'">'+
'</div></a>'+
'<div class="zhuangtai">'+
'<div class="picStatus" >'+
'<p class="author">'+dataOne['nickname']+'</p>'+
'<p style="display:inline-block;float:right;" class="mui-pull-right">'+adate+'</p>'+
'</div>'+
'<div class="clearfix"></div>'+
'<div class="picStatus2" style="height:15px;margin-top: 2px;">'+
'<p id="shang">阅 '+dataOne['click_num']+'</p>'+
'<p id="ping">评 '+dataOne['ping_num']+'</p>'+
'<p id="share">享 '+dataOne['share_num']+'</p>'+
'<p id="zan">赞 '+dataOne['up_num']+'</p>'+
'</div>'+
'</div>';//liStr 结束
item.innerHTML = liStr;
$("#listul").append(item);
}//end for(i)
}//end success
});//end mui.ajax
} //end else
j++;
console.log("listRefresh执行:"+j+"次");
}//listRefresh end
window.addEventListener("homeRefresh",function(e){
self=plus.webview.currentWebview()
listRefresh();
console.log("homeRefresh:+id:"+self.id);
});
子页面 article-create.html 相关js:
var publish=document.getElementById("publish");
//防止多次发送
var flag = false;
mui.plusReady(function(){
publish.addEventListener("tap",function(){
if(chkLogin()){
var content=document.getElementById("inputText").value;
var title=document.getElementById("inputTitle").value;
var contentLength=content.length;
var titleLength=title.length;
if(titleLength==0){mui.toast("标题不能为空");}
else if(contentLength==0){mui.toast("内容不能为空");}
else if(titleLength>20){mui.toast("标题不超过20个字符!");}
else if(!flag){
flag=true;
//调用图片上传函数
upload();
mui.toast("发布成功,即将返回首页...");
setTimeout(function(){
flag=false;
},1000);
homeRefresh();
mui.back();
}
}
});
//首页刷新
function homeRefresh(){
var listPage=plus.webview.getWebviewById("tab-webview-subpage-article.html");
mui.fire(listPage,"homeRefresh",{});
}
});
2 个回复
giddens
粗略地看了下,var publish=document.getElementById("publish"); 这一行不应该是获取webview的id么?为什么要获取元素的id?
zhongjie_yang
我这边也是,监听不到了。应该是跟更新有关,上面写不建议用同页面多webview。http://ask.dcloud.net.cn/question/27999