Angularjs 在ui.router转换到粘性状态时可以触发哪些事件?

Angularjs 在ui.router转换到粘性状态时可以触发哪些事件?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个AngularJS应用程序,它使用ui.router和插件ui.router-extras,特别是粘性状态模块。这允许我从给定的父状态向下缓存渲染的DOM 问题是,当我转换到设置为“粘性”(即缓存)的状态时,与该状态相关的任何事件都不会触发。OneNet和Resolve似乎已经运行并被缓存 states.push({ name: 'root.planner', url: 'planner', abstract: true,

我有一个AngularJS应用程序,它使用ui.router和插件ui.router-extras,特别是粘性状态模块。这允许我从给定的父状态向下缓存渲染的DOM

问题是,当我转换到设置为“粘性”(即缓存)的状态时,与该状态相关的任何事件都不会触发。OneNet和Resolve似乎已经运行并被缓存

states.push({ name: 'root.planner',             url: 'planner',
              abstract: true,
              views: {
                'planner-tab':  {
                  controller: 'planner',   
                  templateUrl: 'views/planner/_planner.html'
                }
              },
              sticky:true,
              deepStateRedirect: true
            });
states.push({ name: 'root.planner.home',   url: '',
              controller: 'planner.home',
              templateUrl: 'views/planner/_planner.home.html',
              resolve: {
                'promiseDays': function(PlannerService){
                  return PlannerService.getDays();
                }
              },
              onEnter: function(StatusService){
                //set editable
                StatusService.toggleEditIcon(true);
              },
              onExit: function(StatusService){
                //set editable
                StatusService.toggleEditIcon(false);
              }
            });
我需要的是一种方法,允许Onener运行或一些类似的事件,可以根据每个状态进行定制。理想情况下,这应该在上面的状态配置中(例如,我可以避免对每个stateChangeSuccess进行状态名称检查),但我愿意接受建议。

在GitHub上提出的问题中,Christ T(ui路由器extras的开发人员)很有帮助地建议:

虽然没有文档记录,但粘性状态将调用onInactivate和onReactivate回调。请参阅以下行中的源代码:


这对我来说非常合适。

linky在回购协议中搜索而不是硬编码的github文件:谢谢,@Michael。好地方。