首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CanActivate不工作AngularDart 4

CanActivate不工作AngularDart 4
EN

Stack Overflow用户
提问于 2017-09-14 23:08:11
回答 1查看 380关注 0票数 3

由于我是从CanActivate的第4版迁移过来的,所以我最近遇到了AngularDart注释方面的问题。实际上,CanActivate注释没有运行。我的守则:

代码语言:javascript
复制
import 'dart:html' as html;

import 'package:angular/angular.dart';
import 'package:angular_router/angular_router.dart';
import 'package:maho_enterprise/app_component.dart';
// Others import

@Component(selector: "view-main"
  ,templateUrl: "main_component.html"
  ,styleUrls: const ["main_component.css"]
  ,directives: const [TopBarComponent,SideBarComponent])
@CanActivate(verifyIfUserIfAuthenticate)
class MainComponent {

}

bool verifyIfUserIfAuthenticate(ComponentInstruction next, ComponentInstruction prev) {
  html.window.console.info("CanActivate works correctly");
  AuthenticationService service = new AuthenticationService.empty();
  bool connected = service.isConnected();
  html.window.console.info("Value connected : "+connected.toString());
  if(!connected) {
    Router router = myInjector.get(Router);
    router.navigateByUrl("/login");
    return false;
  }
  return true;
}

有人在AngularDart的第4版中遇到过这个问题吗?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-14 23:50:14

不幸的是,CanActivateAngularDart 4.0.0中不再受支持。它需要非常特殊的编译器代码,不能长期支持,而且路由器正在5.x.x中进行更改。作为解决办法,我建议使用OnActivate生命周期方法。

我将添加一个bug来删除API并记录此更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46229439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档