angular 监听浏览器后退

// 避免新进页面时触发监听
vm.pageState = false;
setTimeout(function(){
    vm.pageState = true;
},1000);

// 监听浏览器后退事件
$scope.$on("$locationChangeStart", function(ev){
    if(vm.pageState){
          ev.preventDefault(); 
          // 以下为监听到返回的操作
          $Message.confirm({
              text: '您的信息快填完了,确认离开吗?',
              buttons: [{
                  text: '取消',
                  onTap: function() {
                     //取消的操作
                  }
              }, {
                  text: '确认',
                  onTap: function() {
                      vm.pageState = false; 
                      history.back(); //确认返回
                  }
              }]
          });
      }
  });

你可能感兴趣的:(angular 监听浏览器后退)