如何使用onEnter钩子和$ transition $阻止默认动作?(新的ui路由器)

Ste*_*rov 8 javascript angularjs angular-ui-router

我正在使用ui-router 1.0.0-alpha.5.旧事件在那里弃用.

所以我想转换

$rootScope.$on('$stateChangeStart', ($event) => {
  //some logic
 $event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

成:

$transitions.onEnter({}, ($transition$) => {
  //...
});
Run Code Online (Sandbox Code Playgroud)

我怎么能防止这里的默认动作

Ste*_*rov 5

看起来我找到了答案:

$transitions.onEnter({}, ($transition$) => {
  return $q.reject()
});
Run Code Online (Sandbox Code Playgroud)

即你需要退回被拒绝的承诺.