Angular 2 Dart:RouteParams在刷新之前无法工作

时间:2016-03-09 18:14:46

标签: dart angular angular-dart

我正试图掌握Angular2 + Dart。我遇到了一个奇怪的问题,我正试图让我的头脑 - 我在刷新页面之前似乎无法访问RouteParams。详情如下:

这是我的路线:

const Route(
          path: '/game/:id',
          name: 'Game',
          component: GameComponent
      )

这在我的游戏模板中:

<a [routerLink]="['Game', {id: 76043}]">

然后这是我的GameComponent:

import 'package:angular2/angular2.dart';
import 'package:angular2/router.dart'
    show ROUTER_DIRECTIVES, Route, RouteConfig, RouteParams;

import 'package:meeple/components/ui-app-bar.component.dart' show UiAppBarComponent;

@Component(
    selector: 'router-outlet',
    templateUrl: 'game.html',
    directives: const [UiAppBarComponent, ROUTER_DIRECTIVES]
)
class GameComponent implements OnInit {

  int id;
  final RouteParams _routeParams;

  GameComponent(this._routeParams);

  ngOnInit() {
    this.id = int.parse(_routeParams.get('id'));
  }
}

当我点击链接时,它会将我带到地址栏中的正确URI并加载GameComponent但是它会抛出以下异常:

ORIGINAL EXCEPTION: Class 'int' has no instance getter 'isEmpty'.
NoSuchMethodError: method not found: 'isEmpty'

堆栈跟踪指向ngOnInit行,该行将this.id设置为来自routeParams的id。

当我刷新页面时,它正确加载!可能导致这种情况的任何想法?

由于

1 个答案:

答案 0 :(得分:2)

我认为应该是

<a [routerLink]="['Game', {id: '76043'}]">

不支持路由器参数中的整数。