动作/效果UI通知后的ngrx / store

时间:2016-08-27 18:18:05

标签: angular ngrx

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

这是流程,

  1. 用户点击登录按钮
  2. 已发送登录操作
  3. $ effects执行登录的http.post凭据
  4. 发送LOGIN_SUCCESS或LOGIN_FAILURE操作
  5. 问题:我想在执行操作后执行一些UI任务,例如,下拉模式或显示错误消息的弹出窗口。

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

    谢谢你们。

1 个答案:

答案 0 :(得分: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为真,你知道你应该例如显示模态。

另一种方法是通过服务在您的效果中执行任务。