需求是这样的,一个购物类的App,首页右上角是购物车图标,图标右上角是数字角标,表示购物车内商品数量,现在的需求是这样的:从任何页面返回到首页时,我都希望执行一段代码,通过localstorage读取当前购物车中商品数量,并更新界面。
我尝试在首页的plusReady中增加如下代码:
self.addEventListener("show", function(event) {
console.debug("onShow");
});
发现没有被执行,怎么回事?
各位高手有没有其他办法?
鸿运当头
- 发布:2015-06-24 10:50
- 更新:2015-09-17 16:34
- 阅读:2133
3 个回复
我是谁
mui.init({
beforeback: function() {
//获得首界面的webview
var index = plus.webview.getLaunchWebview();
//触发自定义事件(gouwuchenum),从而进行数据刷新
mui.fire(index, 'gouwuchenum');
chender - 与人为善
可能是执行plusready之前show事件已经被触发了
鸿运当头 (作者)
这个问题后来经测试,我的结论是:“show”事件只是在webview调用 show方法时才会发生,如果是某个窗口关闭,导致原来的webview显露出来,则原来的webview是不会发生“show”事件的。
后来我的解决方法是:在首页监听自定义事件,当其他界面修改购物车中商品数量时,通过fire方法向首页发送自定义事件,首页收到该事件后,立即更新商品数量。大体方法类似楼上@我是谁的方法 。