[英]angular2 canActivate() not work with Observable response
我有canActivate angular2.0.0-rc.3的問題。
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>{
console.log('canActivate with AclService');
// return true;
return Observable.create((observer:Subject<boolean>) => { observer.next(true); });
}
它不適用於Observable響應,但使用簡單的布爾響應。
我怎么能解決這個問題?
如果你添加.first()
或通過其他方式完成Observable
它應該工作:
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>{
console.log('canActivate with AclService');
// return true;
return Observable.create((observer:Subject<boolean>) => { observer.next(true); }).first();
}
要么
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>{
console.log('canActivate with AclService');
// return true;
return Observable.of(true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.