如何使用store.select()在Angular2中使用ngrx获取根级别状态?
我已经为这个问题挣扎了一段时间了 我正在尝试使用Angular2中的ngrx获取对存储在redux存储中的对象的引用。我有以下情况:如何使用store.select()在Angular2中使用ngrx获取根级别状态?,angular,ngrx,Angular,Ngrx,我已经为这个问题挣扎了一段时间了 我正在尝试使用Angular2中的ngrx获取对存储在redux存储中的对象的引用。我有以下情况: import {User} from "./user"; export class SessionState{ constructor( public user: User, public currentCompanyId: number, public currentDepartmentId: number ) { } } 然
import {User} from "./user";
export class SessionState{
constructor(
public user: User,
public currentCompanyId: number,
public currentDepartmentId: number
) { }
}
然后输入以下代码:
export class SidebarComponent implements OnInit {
constructor(private sessionStore: Store<SessionStore>, private router: Router,) { }
sessionState: Observable<SessionState>;
user: Observable<User>;
currentCompanyId: Observable<number>;
currentDepartmentId: Observable<number>;
ngOnInit(){
this.sessionState = this.sessionStore.select("sessionState");
this.user = this.sessionStore.select("user");
this.user.subscribe(user => console.log(user));
this.sessionState.subscribe(state => console.log(state));
}
}
导出类SidebarComponent实现OnInit{
构造函数(私有会话存储:存储,私有路由器:路由器,{}
会话状态:可见;
用户:可观察;
当前公司ID:可观察;
currentDepartmentId:可观察;
恩戈尼尼特(){
this.sessionState=this.sessionStore.select(“sessionState”);
this.user=this.sessionStore.select(“用户”);
this.user.subscribe(user=>console.log(user));
subscribe(state=>console.log(state));
}
}
现在用户打印的很好,但是整个sessionState给出了一个未定义的值。我尝试过使用select(“”)、select()和该方法的其他替代方法,但似乎没有找到获取整个sessionState的可观察性的正确方法
这里出了什么问题?导出类SidebarComponent实现OnInit{
export class SidebarComponent implements OnInit {
constructor(private sessionStore: Store<SessionStore>, private router:
Router,) { }
user: Observable<User>;
currentCompanyId: Observable<number>;
currentDepartmentId: Observable<number>;
ngOnInit(){
this.sessionStore.subscribe(state => console.log(state));
this.user = this.sessionStore.select(state => state.user);
this.user.subscribe(user => console.log(user));
}
}
构造函数(专用会话存储:存储,专用路由器:
路由器,{}
用户:可观察;
当前公司ID:可观察;
currentDepartmentId:可观察;
恩戈尼尼特(){
subscribe(state=>console.log(state));
this.user=this.sessionStore.select(state=>state.user);
this.user.subscribe(user=>console.log(user));
}
}
导出类SidebarComponent实现OnInit{
构造函数(专用会话存储:存储,专用路由器:
路由器,{}
用户:可观察;
当前公司ID:可观察;
currentDepartmentId:可观察;
恩戈尼尼特(){
subscribe(state=>console.log(state));
this.user=this.sessionStore.select(state=>state.user);
this.user.subscribe(user=>console.log(user));
}
}
如果需要整个状态,则不需要选择。默认情况下,存储将发出整个状态。我无法将可观察的
与存储
匹配,订阅存储也会给出未定义的状态…如果您想要整个状态,则不需要选择。默认情况下,存储将发出整个状态。我无法将可观察的
与存储
匹配,订阅该存储也会给出未定义的。。。