簡體   English   中英

如何使用store.select()在Angular2中使用ngrx獲取根級別狀態?

[英]How to use store.select() to get the root level state using ngrx in Angular2?

我一直在努力解決這個問題。

我試圖在Angular2中使用ngrx來獲取存儲在redux存儲中的對象的引用。 我有以下情況:

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));
  }
}

現在用戶打印出來就好了,但是整個sessionState給出了一個未定義的。 我嘗試使用select(“”),select()和此方法的其他替代方法,但似乎無法找到獲取整個sessionState的可觀察對象的正確方法。

這里出了什么問題?

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));

  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM