angular - 如何使用 ngrx redux 和 angular2 显示简单对象的属性

标签 angular redux ngrx

我正在使用 angular2 2.0.0-beta.2 和 ngrx 商店 https://github.com/ngrx/store并使用 ngrx/store github 页面上“计数器”示例的修改版本实现了一个简单的应用程序。

在我的应用程序中,我有一个“用户”对象,其中包含两个用于登录注销 的按钮。我还有相应的 reducer 函数 loginlogout ,我要么返回状态,要么返回一个包含 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>

这是一个笨蛋: http://plnkr.co/edit/cPubI9upph344qrOqtj8?p=preview

最佳答案

语法看起来像 (user | async).name - 参见 http://plnkr.co/edit/OVHh9lHvTU4sKrCbrLqq?p=preview

关于angular - 如何使用 ngrx redux 和 angular2 显示简单对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35329926/

相关文章:

angular - NgbModal 未从另一个组件中包含的组件打开模式

javascript - 我如何以编程方式将 ionic 4 中的目录从 LTR 更改为 RTL

reactjs - 使用 reselect 计算派生状态时如何避免 React 重新渲染

angular - NGRX状态突变

javascript - 在 es5 中创建一个 angular 2 服务

javascript - 无法让输入字段在 Angular 4 上显示

redux - <Provider> 中的错误 - 检查 `Provider` 的渲染方法。 react 还原

javascript - 如何在数组映射循环中的 redux saga 中发出并行请求到 firebase 中?

angular - ngRx 继承的效果类不起作用

forms - Angular 动态表单可观察属性绑定(bind)