我想从ngRedux-store加载数据并对更改做出反应。我想在使用CanActivate接口的防护中使用这个。
通常我会检索这样的数据
@select(['auth', 'IsAuth']) isAuth : boolean;
但我不能在我的警卫班中使用它。我想我必须做那样的事情。
console.warn('AuthGuard#canActivate called');
var d = this.ngRedux.select(['auth', 'IsAuth']);
console.error(d);
我只得到一个annonymusSubject。但我想得到我的布尔值。
答案 0 :(得分:0)
您可以使用take
运算符从您的选择中获取第一个值并完成可观察的
canActivate(): Observable<boolean> {
// returns true/false from the store so canActivate
// can determine if the user can navigate to the route
return this.ngRedux.select(['auth', 'IsAuth'])
.take(1);
}
答案 1 :(得分:0)
这项工作
this.ngRedux.select(['auth', 'Header']).subscribe(m => {
this.Header = m;
});