js 监听浏览器回退事件

js 监听浏览器回退事件

我当时是主要解决 angular项目里的一个bug
切换标签页后,点击浏览器回退,标签页的状态没有发生改变

	window.history.pushState('forward', null, '#');
    window.history.forward(1);
    
    // 监听浏览器回退事件的方法
    window.addEventListener("popstate", function(e) {
        refresh(); //写监听到回退事件后  你要做的操作
    }, false);

而且调试时候出现了一个bug 当改变当前标签状态值的时候 currentIndex = 1;然后点回退发现标签还是没回退,
但是console了一下 currentIndex的值 确实改变了, 然后就考虑到页面没有刷新, 就加了

$scope.$apply();

强制刷新试图, 然后就会又报错 $digest already in progress 至于这个报错可以查看
理解和解决angularJS报错apply already in progress

于是就调用 refresh() 将做出的改变放在了方法里, 也不用去强制刷新即可达成目的;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值