Angular 2 Dart:RouteParams 在刷新之前不工作
Angular 2 Dart: RouteParams not working until refresh
我正在尝试掌握 Angular2 + Dart。我 运行 遇到了一个怪癖,我正试图解决这个问题 - 在刷新页面之前我似乎无法访问 RouteParams。详情如下:
这是我的路线:
const Route(
path: '/game/:id',
name: 'Game',
component: GameComponent
)
这在我的游戏模板中:
<a [routerLink]="['Game', {id: 76043}]">
那么这是我的游戏组件:
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'));
}
}
当我点击 link 时,它会将我带到地址栏中的正确 URI 并加载 GameComponent,但它会抛出以下异常:
ORIGINAL EXCEPTION: Class 'int' has no instance getter 'isEmpty'.
NoSuchMethodError: method not found: 'isEmpty'
堆栈跟踪指向将 this.id 设置为来自 routeParams 的 id 的 ngOnInit 行。
当我刷新页面时,它会正确加载!知道是什么原因造成的吗?
谢谢
我觉得应该是
<a [routerLink]="['Game', {id: '76043'}]">
不支持路由器参数中的整数。
我正在尝试掌握 Angular2 + Dart。我 运行 遇到了一个怪癖,我正试图解决这个问题 - 在刷新页面之前我似乎无法访问 RouteParams。详情如下:
这是我的路线:
const Route(
path: '/game/:id',
name: 'Game',
component: GameComponent
)
这在我的游戏模板中:
<a [routerLink]="['Game', {id: 76043}]">
那么这是我的游戏组件:
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'));
}
}
当我点击 link 时,它会将我带到地址栏中的正确 URI 并加载 GameComponent,但它会抛出以下异常:
ORIGINAL EXCEPTION: Class 'int' has no instance getter 'isEmpty'.
NoSuchMethodError: method not found: 'isEmpty'
堆栈跟踪指向将 this.id 设置为来自 routeParams 的 id 的 ngOnInit 行。
当我刷新页面时,它会正确加载!知道是什么原因造成的吗?
谢谢
我觉得应该是
<a [routerLink]="['Game', {id: '76043'}]">
不支持路由器参数中的整数。