单页应用(ng/vue)该如何监听用户离开当前页面(或者路由)?

发布于 2022-09-03 11:33:10 字数 165 浏览 14 评论 0

场景描述:在ng的某个路由中,需要在用户离开当前路由时提示用户是否确认离开

我的疑惑:如果是普通的应用,我们可以使用js来判断用户是否要离开,但是在单页应用中,所有的跳转离开其实都是在一个页面中,我想判断用户是否离开当前路由,但是没找到ng提供的公户离开路由的方法

求各位前辈的思路~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

流年已逝 2022-09-10 11:33:10

我只知道Vue可以

route: {
            deactivate() {
                ...
            }
        }
凉风有信 2022-09-10 11:33:10

js原生通过hashchange事件,来监听页面hash是否变化,在单页面应用中,很多的框架都会封装这个方法成钩子函数。

耳根太软 2022-09-10 11:33:10

ui-router里面有一个事件可以监控状态的改变,回调函数中参数可以记录当前页面
$rootScope.$on('$stateChangeStart', function (event, toState, fromState){
});

情绪少女 2022-09-10 11:33:10

ng中如果使用ui-router来作为路由系统。可以使用ui-router的事件系统来对路由状态的变化做出相应的业务逻辑。

$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
    event.preventDefault();
    // transitionTo() promise will be rejected with
    // a 'transition prevented' error
})

详情可以参考ui-router中的$state

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文