如何在Angular项目里监听页面关闭、跳转事件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Angular项目里监听页面关闭、跳转事件?相关的知识,希望对你有一定的参考价值。
参考技术A在用户操作网页时,我们有时需要监听用户关闭或者跳转网页的行为,比如像在线编辑工具,如果用户没有提交、保存就关闭页面,那一切更新的数据都会丢失,如何防止这一现象发生?本文提供了一种解决办法,但不是很友好,不得已而为之。
关于页面/浏览器关闭事件, onbeforeunload 依旧可行,不过如果使用者禁止了这一事件,那就改换别的办法吧。
关于页面跳转,也就是网址发生变化,如果要监听路由变化,有两种情况:
1.再写一个 onbeforeunload 事件,事件中什么都不放置,可以让用户保存之后触发此事件;
2.将 $locationChangeStart 或者 $stateChangeStart 事件放在一个全局变量中,比如vm.stopListener,之后在用户触发的事件中调用一次vm.stopListener()即可。
在android中怎样给整个页面设置监听事件
参考技术A 您可以类似这样,先实例化子页面中的Button控件,然后将实例化后的控件绑定监听事件View view=LayoutInflater.from(context).inflate(R.layout.abc_action_bar_view_list_nav_layout,null); Button button= (Button) view.findViewById(R.id.action_bar); button.setOnClickListener(new View.OnClickListener() @Override public void onClick(View view) //写上点击后要执行的事件 );当然了,您要在不同页面实现不同的功能的话,您可以将以上代码写在viewPager.setOnPageChangeListener的滚动回调方法当中进行页面滚动的判断,从而执行不同的点击事件。希望能帮到您,如果还有什么问题,欢迎您继续追问。谢谢。追问请问其中的上下文context怎么解释
参考技术B 您可以类似这样,先实例化子页面中的Button控件,然后将实例化后的控件绑定监听事件View view=LayoutInflater.from(context).inflate(R.layout.abc_action_bar_view_list_nav_layout,null);
Button button= (Button) view.findViewById(R.id.action_bar);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
//写上点击后要执行的事件
);
当然了,您要在不同页面实现不同的功能的话,您可以将以上代码写在viewPager.setOnPageChangeListener的滚动回调方法当中进行页面滚动的判断,从而执行不同的点击事件。希望能帮到您,如果还有什么问题,欢迎您继续追问。谢谢。本回答被提问者采纳 参考技术C 给跟view增加点击事件
以上是关于如何在Angular项目里监听页面关闭、跳转事件?的主要内容,如果未能解决你的问题,请参考以下文章