Angular-UI路由器,如果来自/ modal路由则不刷新

时间:2015-09-28 13:07:08

标签: javascript angularjs angular-ui-router angular-ui angular-ui-modal

是否可以全局配置某些内容,以便每次输入新路径时都会检查以前的路由是否以/ modal开头,如果确实没有刷新控制器,只需删除顶部模式。堆栈?

我想我可以通过reloadOnSearch和使用搜索参数实现这一点,但是我必须设置整个站点上的每个路由来设置reloadOnSearch,因为站点上的任何路由都可以启动模式,所以这是不可取的。 / p>

真的很感激任何帮助。

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

$rootScope.$on('$stateChangeStart', 
function(event, toState, toParams, fromState, fromParams){ 
     //codes
})

答案 1 :(得分:0)

在简单的角度路线中你可以这样做:

yourApp.run(function($rootScope, $location){
  $rootScope.$on('$routeChangeStart', function(evt, next, current) {
    // next: The next URL to which we are attempting to navigate
    // current: The URL that we are on before the route change

    if (current == 'modal1'){
        evt.preventDefault();
    }
  });
})

要将其调整为angular ui,只需将$routeChangeStart更改为相关的$stateChangeStart,我认为。