我试图在RC5中使用ngrx,但是我得到了一些有线行为。状态更改由ngrx日志监视器正确捕获,但不会发送给我的订阅者。
但是,一旦我改变了页面(我使用的是@角形/路由器3),我所有的状态更改就会一个接一个地发送给订阅者。
下面是代码的示例
ngOnInit() {
this._store.dispatch(this._mediaActions.load());
this._positionListener = this._store
.let(getMediaFolderContent())
.subscribe(a => this.position = a);
this._store.let(getMediaFolderContent()).subscribe(a => console.log(a));
this._store.select(s => s.media).subscribe(a => console.log('just a test: ', a));
}当我第一次导航到页面时,我得到了最新的状态,但是没有捕获后续的更改。然后,一旦我导航到页面,就会得到状态更改。
我知道这段代码不足以回答一个有效的问题,但是有这么多的代码,我不知道从哪里开始复制所有的代码。我只是想知道有人在RC5中处理过类似的问题。
在迁移到RC5之前,所有的代码都可以工作。
发布于 2016-08-15 13:26:46
我已经解决了。我希望这能帮上忙。
所以问题就在我的减速器上,我要做的是:
return Object.assign(state, {something: 'something'}但是,只有当我创建一个新对象时,状态更改才会被发出。所以我要做的就是像这样改变任务:
return Object.assign({}, state, {something: 'something'}谢谢你@有线程序员为我指明了正确的方向。
https://stackoverflow.com/questions/38952911
复制相似问题