Angular2:导航到路由并弹回到pushState堆栈的根目录

时间:2016-02-18 23:37:46

标签: dart angular angular-dart angular2-routing

使用Angular2路由,如何让pushState一直弹回到根目录,导航到某个路由?

我查看了router.navigate([...])的{​​{1}}方法,但没有在那里找到它。

例如,在Dart的Router route_hierarchical中,我可以执行Router

1 个答案:

答案 0 :(得分:0)

在Angular2在其路由器中提供此功能之前,这是一个临时解决方法:

abstract class Hist {
  static int _initialLength;
  // Call this ASAP when app starts.
  static void setAsInitialLength() {
    _initialLength = window.history.length;
  }
  static Future goBackToRoot() async {
    Completer completer = new Completer();
    window.history.go(-(window.history.length-_initialLength));
    Timer.run((){
      completer.complete();
    });
    return completer.future;
  }
}

然后我可以像这样使用它:

await Hist.goBackToRoot();
router.navigate(['/Main',{}]);