gpt4 book ai didi

routing - Angular Dart 将数据从路由服务传递到 Controller

转载 作者:行者123 更新时间:2023-12-03 04:07:15 25 4
gpt4 key购买 nike

我正在努力寻找一种将数据从路由器获取到 Controller 的方法。路由上的 enter 方法正确地从服务中获取数据,因为 print 方法在控制台中显示 JSON 响应。

我的模块如下所示:

class MyAppModule extends Module {
MyAppModule () {
type(UsersService);
type(UsersController);
type(RouteInitializerFn, implementedBy: MyAppRouteInitializer);
factory(NgRoutingUsePushState,
(_) => new NgRoutingUsePushState.value(false));
}
}

和我的路由器的简化版本

class MyAppRouteInitializer {

final UsersService _userService;

MyAppRouteInitializer(this._userService);

void call(Router router, ViewFactory views) {
views.configure({
'users': ngRoute(
path: '/users',
view: 'views/users/users.html',
mount: {
'list': ngRoute(
path: '',
view: 'views/users/list.html',
enter: (RouteEnterEvent e) {
_userService.all((HttpResponse response){
var data = response.data['body'];
print(data);
});
}
}
)
});
}
}

目前我的 Controller 几乎是空的,看起来像这样

@NgController(
selector: '[users-controller]',
publishAs: 'userCtrl'
)

class UsersController {
var list;

UsersController() {

}

}

关于如何将服务响应输入 Controller 的任何帮助都会很棒。

最佳答案

为什么要在路由输入事件处理程序中执行此操作?
您甚至不使用路线或事件中的任何信息。
您只需注册 UserService用你的模块让它注入(inject)你的UserController .

class MyAppModule extends Module {
MyAppModule() {
type(UsersService);
}
}

@NgController(
selector: '[users-controller]',
publishAs: 'userCtrl'
)

class UsersController {
var list;

UsersService _usersService;

UsersController(this._usersService) {
_userService.all((HttpResponse response){
var data = response.data['body'];
print(data);
}
}

关于routing - Angular Dart 将数据从路由服务传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22104991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com