我在调用 $locationChangeStart 事件的 e.preventDefault 内部处理程序时遇到了一个奇怪的问题。我有这样的事情:
var unregisterCallback = _this.$rootScope.$on('$locationChangeStart', function (e) {
e.preventDefault();
});
这发生在其中一个指令的链接函数中。问题是,当我单击具有某些路径的锚元素时,它实际上导航到它然后返回。我正在使用来自 Angular 1.5 的组件路由器。这几乎使这无用,因为我试图在用户导航之前显示一个确认对话框而不保存更改。问题是,由于这种重新导航,他无论如何都会丢失所有更改。知道发生了什么吗?