dart - Angular2:导航到路由并弹出回到pushState堆栈的根

标签 dart angular angular-dart angular2-routing

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

我调查了router.navigate([...])Router方法,但在那里没有找到。

例如,在Dart的route_hierarchical Router中,我可以做router.go('login',{},replace: true,startingFrom:router.root);

最佳答案

直到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',{}]);

关于dart - Angular2:导航到路由并弹出回到pushState堆栈的根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35494651/

相关文章:

flutter - 在 flutter web 中添加依赖

javascript - 将数据从服务返回到 Angular 中的组件

angular - 如何在不先构建的情况下运行 ngserve

angular - 如何使用 RouterLink 为模块配置故事书故事

angularjs - AngularDart Scope对象用于什么

dart - 为什么未初始化Module.DEFAULT_REFLECTOR?

flutter - 如何在 Flutter 中的不同有状态小部件之间向前和向后移动数据?

android - 如何在 flutter sdk 1.2.1 上获取当前位置

flutter - Dart中Function类型参数的默认值

webstorm - 无法与适用于 Web 的 Angular 和适用于移动项目的 Flutter 一起运行 Dart 2 - 计划共享代码