Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 在子组件中找不到路由参数_Dart_Angular Dart_Angular Dart Routing - Fatal编程技术网

Dart 在子组件中找不到路由参数

Dart 在子组件中找不到路由参数,dart,angular-dart,angular-dart-routing,Dart,Angular Dart,Angular Dart Routing,我的AngularDart项目有以下简单路线: // application shell @RouteConfig(const [ const Route(path: '/...', name: 'Home', component: StatusesAreaComponent,useAsDefault: true), ]) class AppComponent { } // my status area router @Component( selector: 'status-a

我的
AngularDart
项目有以下简单路线:

// application shell 
@RouteConfig(const [
  const Route(path: '/...', name: 'Home', component: StatusesAreaComponent,useAsDefault: true),
])
class AppComponent { }

// my status area router
@Component(
    selector: 'status-area',
    template: '<router-outlet></router-outlet>',
    directives: const [ROUTER_DIRECTIVES])
@RouteConfig(const [
  const Route(
      path: '/...',
      name: 'StatusArea',
      component: StatusesWrapperComponent,
      useAsDefault: true)
])
class StatusesAreaComponent {}

// status-wrapper component
@Component(
  selector: 'statuses-wrapper',
  template: '<router-outlet></router-outlet>',
  directives: const [CORE_DIRECTIVES,ROUTER_DIRECTIVES],
)
@RouteConfig(const [
  const Route(path: '/status/:id', name: 'StatusItem', component: StatusItemComponent),
  const Route(path: '/', name: 'StatusHome', component: StatusListComponent, useAsDefault: true),
])
class StatusesWrapperComponent  { }
在这一行:
var\u id=\u routeParams.get('id')我得到了这个异常(来自Chrome中的javascript控制台):

另外,我应该提到我在哪里刷新页面,它的工作!但不是第一批货

@Component(
    selector: 'status-item',
    templateUrl: 'status_item_component.html',
    directives: const [CORE_DIRECTIVES, ROUTER_DIRECTIVES])
class StatusItemComponent implements OnInit {
  final StatusService _statusService;
  final RouteParams _routeParams;
  final Location _location;

  Status status;

  StatusItemComponent(this._statusService, this._routeParams, this._location);

  @override
  Future<Null> ngOnInit() async {
    print('in ngOnInit in StatusItemComponent');
    print(_routeParams);
    var _id = _routeParams.get('id'); // I'll get error here
    print('_id = ' + _id);
    var id = int.parse(_id ?? '', onError: (_) => null);
    if (id != null) status = await _statusService.get(id);
  }
}
in ngOnInit in StatusItemComponent -- this is log --
Instance of 'RouteParams' -- this is log --
EXCEPTION: Invalid argument: 1
STACKTRACE: 
Invalid argument: 1
    at Object.wrapException (http://localhost:49433/main.dart.js:4073:17)
    at Interceptor.$add (http://localhost:49433/main.dart.js:1397:19)
    at http://localhost:49433/main.dart.js:21513:44
    at _wrapJsFunctionForAsync_closure.$protected (http://localhost:49433/main.dart.js:6686:15)
    at _wrapJsFunctionForAsync_closure.dart._wrapJsFunctionForAsync_closure.call$2 (http://localhost:49433/main.dart.js:7181:14)
    at _awaitOnObject_closure.dart._awaitOnObject_closure.call$1 (http://localhost:49433/main.dart.js:7169:34)
    at StaticClosure.dart._rootRunUnary (http://localhost:49433/main.dart.js:7025:18)
    at _ZoneDelegate.runUnary$3 (http://localhost:49433/main.dart.js:9984:41)
    at NgZone.dart.NgZone._runUnary$5 (http://localhost:49433/main.dart.js:26490:24)
    at Object.eval (eval at Closure_forwardCallTo (http://localhost:49433/main.dart.js:4393:14), <anonymous>:2:47)
ORIGINAL EXCEPTION: Invalid argument: 1
{id: 1}