Framework7 中如何正确监听页面返回事件?
我在用 Framework7 开发一个移动端应用,想在用户点击返回按钮时做一些清理操作,比如关闭弹窗或者保存临时数据。但试了 page:beforeout 和 page:afterout 都没触发,不知道是不是监听方式不对?
我是在页面的 route 里这样写的:
{
path: '/detail/',
component: DetailPage,
on: {
pageBeforeOut(e, page) {
console.log('页面要离开了');
}
}
}
但控制台完全没输出,是写法有问题吗?还是说返回事件得用别的方法监听?
Framework7 的页面事件需要组件以正确的方式定义才能触发。试试这样写:
如果你用的是 Vue 或 React 版本的 Framework7,那写法就不一样了:
Vue 版本:
React 版本:
还有一种可能:你需要检查一下路由是否正确加载了这个组件。可以先在 DetailPage 内部加个简单的 log,看组件本身有没有正常初始化。
如果全局监听更方便的话,也可以用:
你先看看用的是哪个版本和框架(原生 JS / Vue / React),确定一下具体的写法。