gpt4 book ai didi

dart - 无法让 Angular Dart 路由器工作

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

我在 AngularDart 0.11.0 中尝试过这种语法:Angular Dart passing data from route service into a controller

module.value(RouteInitializerFn, configureRoutes);

void configureRoutes(Router router, RouteViewFactory views)
{
print("configureRoutes");
views.configure({
'login': ngRoute(
path: '/login',
view: 'login/login.tpl.html'),
'today': ngRoute(
path: '/today',
view: '/today/today.tpl.html')
});

但是,我的路由功能似乎从未被调用过。我使用了 print 语句和断点都无济于事。当我尝试这样调用它时:

WorkoutLoggerApplication(this.rootScope, this.router)
{
print("WorkoutLoggerApplication::constructor");
new Future.delayed(new Duration(seconds: 2), ()
{
router.go("login", {});
});
}

我得到:

错误状态:无效的路由名称:登录

我试过 0.10.0,但没有成功。我还尝试了 3 种新的绑定(bind)函数格式,两者似乎都没有触发路由函数。

最佳答案

我也为当前的示例苦苦挣扎。我最终得到了类似下面的例子。 NgRoutingUsePushState 设置在 0.11.0 中是必需的,或者更改路由似乎不起作用,可能已在 0.12.0 上修复。

library myangular;

import 'package:angular/angular.dart';
import 'package:angular/application_factory.dart';

class MyModule extends Module {
MyModule() {
bind(RouteInitializerFn, toValue: myRouteInitializer);
bind(NgRoutingUsePushState, toFactory: (_) => new NgRoutingUsePushState.value(false));
}
}

void myRouteInitializer(Router router, RouteViewFactory views) {
views.configure({
'foo': ngRoute(
path: '/foo',
view: 'view/foo.html'),
'bar': ngRoute(
path: '/bar',
view: 'view/bar.html',
defaultRoute: true),
});
}

void main() {
applicationFactory()
.addModule(new MyModule())
.run();
}

关于dart - 无法让 Angular Dart 路由器工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24093328/

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