用angular 1.5的组件路由处理浏览器刷新事件
handle browser refresh event with angular 1.5 component routing
我已经实现了Angular 1.5 component routing
。当用户通过单击或键盘F5
刷新浏览器时,我正在寻找解决方案。它应该将用户重定向到第一页,并应该重置所有输入/选择的数据。
这是PLUNKER。这只有两页。
在我的例子中,如果用户刷新。用户应重定向到First
页面,所有输入/选择的数据将重置为默认值。
注意:我知道Angular 1.5的组件路由被弃用了。遗憾的是,我是在应用投入生产后才知道这一点的。在我们迁移到Angular2之前,我必须为用户提供一些解决方案。
下面是处理组件路由的代码:var module = angular.module('app', ['ngComponentRouter']);
module.config(function($locationProvider) {
$locationProvider.html5Mode(true);
});
module.value('$routerRootComponent', 'myFirstApp');
module.component('myFirstApp', {
templateUrl: "mainview.html",
$routeConfig: [{
path: '/',
redirectTo: ['/First']
}, {
path: '/first',
name: 'First',
component: 'firstComponent'
}, {
path: '/second',
name: 'Second',
component: 'secondComponent'
}]
})
我能够做到这一点,唯一的事情是需要以编程方式处理路由。这一行正在执行神奇的window.onbeforeunload = $rootRouter.navigate(['First']);
确保注入$rootRouter & $window
服务。
module.component('firstComponent', {
templateUrl: "1.html",
controllerAs: "vm",
controller: function($rootScope, sharedService, $rootRouter, $window) {
window.onbeforeunload = $rootRouter.navigate(['First']);
}
相关文章:
- 在循环中附加事件处理程序时出现浏览器性能问题
- 是浏览器在AJAX响应中自动处理的HTTP标头
- 使用Backbone.js处理浏览器历史记录
- 如何处理浏览器上的禁用JS
- 如何处理浏览器中显示数据的重载处理
- RequireJS:如何处理浏览器和服务器之间共享的代码的不同模块依赖关系
- 处理浏览器后退按钮的最干净方法
- 如何在Angular中处理浏览器选项卡关闭事件?只关闭,不刷新
- 如何处理浏览器's window.oneforeunload事件
- 在注销Python后处理浏览器的“返回”和“下一步”按钮
- 是否有任何方法来处理浏览器/选项卡关闭前卸载或onbeforeunload或卸载
- 如何处理浏览器应用程序中的大小调整事件和iPad键盘
- 用angular 1.5的组件路由处理浏览器刷新事件
- 在Django中使用JS压缩器处理浏览器条件JS
- 如何处理浏览器关闭(交叉)在javascript或Jquery
- 在javascript中处理浏览器返回按钮
- 如何处理浏览器刷新,返回按钮
- 在React-router中拦截/处理浏览器的后退按钮
- 在优先级AJAX请求的情况下,如何处理浏览器对每个域并行请求的限制
- bluebirdjs协同程序错误处理(浏览器)