若從A頁面跳到B頁面(A—>B),在B頁面操作完成後需要刷新A頁面的數據,有兩種思路:(推薦使用第2種方法)
1.在返回A頁面的時候調用A的頁面onShow()方法,重新查詢加載一次A頁面即可,代碼爲:
onShow: function () {
this.onLoad();
},
這種方法返回A頁面時需要重新加載頁面,太慢,太Low!!
2.這種方法是極力推薦的:
在B頁面中進行操作的時候就在後臺刷新A頁面,當返回A頁面的時候就不需要再刷新加載A頁面了:
具體步驟分爲兩步:
(1)。在父頁面中添加刷新數據的方法:
changeData:function(){
this.onLoad();//最好是隻寫需要刷新的區域的代碼,onload也可,效率低,有點low
}
(2)。在子頁面中添加方法:並且在需要的地方進行調用(如success方法中setData之後調用that.changeParentData();)
changeParentData: function () {
var pages =getCurrentPages();//當前頁面棧
if (pages.length >1) {
var beforePage = pages[pages.length- 2];//獲取上一個頁面實例對象
beforePage.changeData();//觸發父頁面中的方法
}
}