假设我们有一个具有以下结构的状态:
@State<StateModel>({
name: 'pg',
defaults: {
docs: {
doc1: {
id: 'doc1',
content: 'foo',
}
doc2: {
id: 'doc2',
content: 'bar'
}
}
}
变更检测如何工作?如果我做改变
@Action(UpdateContent)
update(ctx: StateContext<StateModel>) {
ctx.patchState( { docs.doc2.content: 'something else' } );
}
以下任何可观察到的值都不发出:
obs1$ = store.select( state => state.docs );
obs2$ = store.select( state => state.docs.docs2 );
obs2$ = store.select( state => state.docs.docs2.content );
我不是rxjs编程专家,但似乎很奇怪,有什么主意吗?
答案 0 :(得分:1)
尝试像这样obs1$ = store.select( state => state.pg.docs )
添加州名 pg 。
如果通过@Selector()
选择,则不需要州名。
我假设您的patchState()代码的对象表示法只是一个示例。