我正在使用 angular2 2.0.0-beta.2 和 ngrx 商店 https://github.com/ngrx/store并使用 ngrx/store github 页面上“计数器”示例的修改版本实现了一个简单的应用程序。
在我的应用程序中,我有一个“用户”对象,其中包含两个用于登录 和注销 的按钮。我还有相应的 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>
最佳答案
语法看起来像 (user | async).name
- 参见 http://plnkr.co/edit/OVHh9lHvTU4sKrCbrLqq?p=preview
关于angular - 如何使用 ngrx redux 和 angular2 显示简单对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35329926/