6

我正在使用ngrx/store 和ngrx/effects。

这是流量,

  1. 用户点击登录按钮
  2. 登录操作已发送
  3. $effects 执行 http.post 凭据以进行登录
  4. 调度 LOGIN_SUCCESS 或 LOGIN_FAILURE 操作

问题:我想执行一些 UI 任务,例如,在操作后拉下模式,或显示错误消息的弹出窗口。

我将如何订阅组件中的响应?

多谢你们。

4

1 回答 1

4

你的状态应该有一个标志来通知你的组件它应该做一个动作。

像这样的东西:

状态:

const initialState: SomeState = {
    loggedIn: false,
    ...
};

export default function(state = initialState, action: Action): SomeState {
    switch (action.type) {
        case StateActions.LOGIN_SUCCESS:
            return Object.assign({}, state, {loggedIn: true});
            ...

然后在您的组件中订阅状态,如果loggedIn是真的,您知道您应该例如显示模式。

另一种方法是通过服务直接执行您的任务。

于 2016-08-27T18:56:51.637 回答