Javascript ui路由器:OnNet和onStart之间的区别?

Javascript ui路由器:OnNet和onStart之间的区别?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在切换到新版本的ui路由器(1.0.0-alpha.5),并试图找出在哪里使用onEnter钩子以及在哪里启动onStart: $transitions.onStart() 及 在事件$stateChangeStart之前,以下是如何描述转换生命周期挂钩的执行顺序: onBefore onStart/onInvalid onEnter (for individual states) onSuccess onError 。。。但它似乎有点过时了(我稍后会再谈)。不过,它清楚地表明,onEn

我正在切换到新版本的ui路由器(1.0.0-alpha.5),并试图找出在哪里使用onEnter钩子以及在哪里启动onStart

$transitions.onStart()

在事件$stateChangeStart之前,以下是如何描述转换生命周期挂钩的执行顺序:

onBefore
onStart/onInvalid
onEnter (for individual states)
onSuccess
onError
。。。但它似乎有点过时了(我稍后会再谈)。不过,它清楚地表明,
onEnter
钩子是关于进入一个状态,而
onStart
钩子是关于开始状态之间的转换

实际上,这一关键差异在以下章节中得到了很好的描述:

onStart
当 转换开始运行此时,过渡尚未完成 尚未退出或进入任何状态。

onEnter
钩子在以下情况下按优先级顺序异步调用: 转换正在进入状态。状态是在
onRetain
hooks

onStart
hook似乎是验证转换的好地方——例如,检查用户是否经过身份验证。下面是该文档中给出的代码示例:

$transitions.onStart( { to: 'auth.*' }, function(MyAuthService, $state) {
  // If the user is not authenticated
  if (!MyAuthService.isAuthenticated()) {

    // Then return a promise for a successful login.
    // The transition will wait for this promise to settle
    return MyAuthService.authenticate().catch(function() {

      // Redirect to a state that we know doesn't require auth.
      return $state.target("guest");
    });
  }
});

从最后一页来看,顺序实际上是:

onBefore - Transition is about to start; one can register other hooks here "on-the-fly"
onStart  - Transition starts running
onExit   - Transition is exiting a state
onRetain - Transition retains a state
onEnter  - Transition is entering a state 
onFinish - Transition is about to be completed, all states are entered and exited

onSuccess/onError - Transition is completed (either successfully or not)

注意:除了最后两个钩子之外,所有钩子都可以修改转换-更改目标状态等。
onSuccess
onError
都是事后触发的:转换已经结束。

@developer033、e4c5、Ismail RBOUH、vgoff、DeanOC更新了这个问题,希望现在问题清楚了
onBefore - Transition is about to start; one can register other hooks here "on-the-fly"
onStart  - Transition starts running
onExit   - Transition is exiting a state
onRetain - Transition retains a state
onEnter  - Transition is entering a state 
onFinish - Transition is about to be completed, all states are entered and exited

onSuccess/onError - Transition is completed (either successfully or not)