如何获得使用AngularDart的路线?

如何获得使用AngularDart的路线?,dart,angular-dart,Dart,Angular Dart,这是我的密码 导入“包:角度/角度.dart”; 类AppModule扩展模块{ AppModule(){ 类型(AppController); 类型(LoginController); 类型(RouteInitializer,实现者:AppRouter); } } 类AppRouter实现RouteInitializer{ 初始化(路由器,视图工厂视图){ 根路由器 …addRoute( 名称:'登录', 路径:'/login', 输入:view('app/views/login.tpl.ht

这是我的密码

导入“包:角度/角度.dart”;
类AppModule扩展模块{
AppModule(){
类型(AppController);
类型(LoginController);
类型(RouteInitializer,实现者:AppRouter);
}
}
类AppRouter实现RouteInitializer{
初始化(路由器,视图工厂视图){
根路由器
…addRoute(
名称:'登录',
路径:'/login',
输入:view('app/views/login.tpl.html'))
…addRoute(
defaultRoute:对,
名称:'索引',
输入:view('app/views/index.tpl.html');
}
}
@NgController(选择器:“[app ctrl]”,发布为:“ctrl”)
类AppController{
}
@NgController(选择器:“[login ctrl]”,发布为:“ctrl”)
类登录控制器{
Http(Http),;
字符串works='works';
LoginController(这是http);
}
没有路由工作,单击“#/login”链接不会更改url或视图

日志说

clicked /app/web/index.html#/login
route /app/web/index.html [Route: null]
route  [Route: index]

我做错了什么?

此代码可能有几个问题。从我所看到的情况来看,最有可能的问题是路由使用了pushState。使用pushState时,不会使用哈希操作url。有关这方面的更多信息,请参阅:

当浏览器支持时,Angular将使用推送状态

bind(NgRoutingUsePushState,toValue:newngroutingusepushstate.value(false));
为您提供以下模块:

类AppModule扩展模块{
AppModule(){
绑定(AppController);
绑定(LoginController);
绑定(RouteInitializer,实现者:AppRouter);
绑定(NgRoutingUsePushState,toValue:newngroutingusepushstate.value(false));
}
}
其他可能的问题包括:

  • 没有ng view指令
  • 未在app/views/login.tpl.html和app/views/index.tpl.html中设置ng绑定路由

当我进行所有这些更改时,在导航到#/login

时,您的代码对我来说工作正常,我不理解您的代码片段。您将在什么工厂和什么上下文中添加代码?工厂将添加到模块中。它关闭了对Html5浏览器使用pushState的功能,或者您可以使用值绑定:value(ngRoutingUserPushState,new ngRoutingUserPushState.value(false));如何设置似乎不再需要的
ng绑定路由
ng绑定路由