我可以使用$locationChangeStart
事件捕获AngularJs应用中的后退按钮,这样我就可以关闭一个模态。
当我离开第一页然后单击模式,然后单击返回,我捕获Back事件并关闭模式并阻止浏览器返回默认值时,这是有效的。
问题是它在主页上不起作用,没有任何事件被触发,所以我无法阻止默认并关闭模式,它只是回到新的标签页(谷歌)
$rootScope.$on("$locationChangeStart", function (event, next, current) {
event.preventDefault();
console.log('$locationChangeStart 1 ');
});
$rootScope.$on('$routeChangeStart', function (scope, next, current) {
event.preventDefault();
console.log('$routeChangeStart');
});
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
event.preventDefault();
console.log('$stateChangeStart');
});
$rootScope.$on('$destroy', function (event, next, current) {
event.preventDefault();
console.log('$locationChangeStart');
});
我使用$routeProvider
并且真的不想在ui-router中重写它。
在我的第一页上是否有一些我错过了让这些事件发生的配置?还是有黑客攻击?
感谢