【发布时间】:2016-05-21 16:10:30
【问题描述】:
我将 angular2 2.0.0-beta.2 与 ngrx 商店 https://github.com/ngrx/store 一起使用,并使用 ngrx/store github 页面上“计数器”示例的修改版本实现了一个简单的应用程序。
在我的应用程序中,我有一个“用户”对象,其中包含 login 和 logout 两个按钮。我也有相应的 reducer 函数 login 和 logout 在其中我可以使用包含 name 属性的对象或空对象返回状态...
export const user: Reducer<any> = (state: any = {}, action: Action) => {
switch (action.type) {
case LOGIN:
return {name: 'jdoe'};
case LOGOUT:
return {};
default:
return state;
}
};
这不会更新:
<h2>User Name = {{ user.name | async }}</h2>
...当我单击登录按钮时它仍然是空白的,但是当通过“json”管道传输时,我看到对象确实发生了变化...
这确实更新了
{{ user | async | json }}
...输出 { "name": "jdoe" } 但显然这对我没有好处。简单地使用 {{ user.name | async }} 不起作用并保持空白。
模板:
<div>
<h2>User Name = {{ user.name | async }}</h2>
<button (click)="login()">login</button><button (click)="logout()">logout</button>
</div>
<hr>
<div>
{{ user | async | json }}
</div>
这里是 plunker: http://plnkr.co/edit/cPubI9upph344qrOqtj8?p=preview
【问题讨论】: