如果我的表单仍然无效,或者在上传文件时如何禁用更改$ 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();
}
});
所有这些都无法正常工作
答案 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
});
路由更改(以及触发它的$ location更改)可以是 通过调用事件的preventDefault方法来阻止。看到 $ rootScope.Scope获取有关事件对象的更多详细信息。
代码取自this blog