禁用后退,重新加载/刷新,更改位置/网址

时间:2015-12-15 01:12:44

标签: angularjs

如果我的表单仍然无效,或者在上传文件时如何禁用更改$ location或重新加载$ ​​location

import os
os.mkdir(<path>) #creates a new folder at the specified path
os.rename(<original/current path>, <new path>)

我也试过

windowElement.on('beforeunload', function(event) {
  if(form === false) {
  event.preventDefault();
  }
});

$scope.$on('$locationChangeStart', function(event) {
  if(form === false) {
  event.preventDefault();
  }
});

所有这些都无法正常工作

1 个答案:

答案 0 :(得分:0)

您希望直接观看$rootScope,请在运行块中尝试以下内容:

$rootScope.$on('$locationChangeStart', function(event, newUrl, oldUrl) {
    console.log(newUrl); // http://localhost:3000/#/articles/new
    console.log(oldUrl); // http://localhost:3000/#/articles 
    event.preventDefault(); // This prevents the navigation from happening
});

来自AgnularJS docs

  

路由更改(以及触发它的$ location更改)可以是   通过调用事件的preventDefault方法来阻止。看到   $ rootScope.Scope获取有关事件对象的更多详细信息。

代码取自this blog