要在'then'块中访问ngrx存储,您需要使用ngrx的select
操作符来获取存储中的数据。下面是一个示例代码,展示了如何在Angular应用中进行此操作:
import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { AppState } from './app.state';
import { GetItemsAction } from './actions/items.actions';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
items: any[];
constructor(private store: Store) {}
ngOnInit() {
this.store.dispatch(new GetItemsAction());
this.store.select(state => state.items).subscribe(items => {
this.items = items;
});
}
// Other component methods
}
在上面的示例中,我们首先导入了Store
和AppState
,Store
是ngrx提供的用于管理应用状态的核心类,AppState
是我们在应用中定义的状态接口。然后,在组件的构造函数中注入了Store
,并在ngOnInit
生命周期钩子函数中调用了一个GetItemsAction
来获取数据。
然后,我们使用this.store.select
方法订阅了存储中的items
状态,并在每次状态更改时更新items
数组。通过这种方式,我们可以在'then'块之外访问存储中的数据。
请确保在应用的模块中正确导入和配置ngrx模块,并在应用状态中定义相应的接口和操作。
希望这可以帮助到您!