我在看似微不足道的事情上遇到了麻烦。
我创建了一条在/cans/1
处可见的路线,当我到达那里时就可以查看内容。
在我生命中,我无法弄清楚如何从URL到视图中获取参数1。
import 'package:angular/angular.dart';
@Component(
selector: 'canId-summary',
template: '''
<div>
<h1>canId Summary</h1>
{{canId}}
</div>
''',
directives: [coreDirectives],
)
class CanComponent {
void canId() {
// how do I get the $id out of the url for here?
}
}
该路线适用于此内容
import 'package:angular_router/angular_router.dart';
const idParam = 'id';
class RoutePaths {
static final dashboard = RoutePath(path: 'dashboard');
static final cans = RoutePath(path: 'cans');
static final can = RoutePath(path: '${cans.path}/:$idParam');
}
int getId(Map<String, String> parameters) {
final id = parameters[idParam];
return id == null ? null : int.tryParse(id);
}
import 'package:angular_router/angular_router.dart';
import 'route_paths.dart';
import 'dashboard_component.template.dart' as dashboard_template;
import 'cans_component.template.dart' as cans_template;
import 'can_component.template.dart' as can_template;
export 'route_paths.dart';
class Routes {
static final dashboard = RouteDefinition(
routePath: RoutePaths.dashboard,
component: dashboard_template.DashboardComponentNgFactory,
);
static final cans = RouteDefinition(
routePath: RoutePaths.assessments,
component: cans_template.CansComponentNgFactory,
);
static final can = RouteDefinition(
routePath: RoutePaths.can,
component: can_template.CanComponentNgFactory,
);
static final all = <RouteDefinition>[
dashboard,
cans,
can,
RouteDefinition.redirect(
path: '',
redirectTo: RoutePaths.dashboard.toUrl(),
),
];
}
答案 0 :(得分:0)
在以下解决方案之上,我最终丢失了导入内容:
import 'package:angular_router/angular_router.dart';
解决方法:
class CanComponent implements OnActivate
与
@override
void onActivate(RouterState previous, RouterState current) async {
final id = current.parameters['id'];
}