Angular 当我使用NGRX时是否应该直接呼叫服务?

Angular 当我使用NGRX时是否应该直接呼叫服务?,angular,typescript,ecmascript-6,redux,ngrx,Angular,Typescript,Ecmascript 6,Redux,Ngrx,NGRX是否对直接在组件中使用服务有任何意见 示例: 登录组件:如何处理登录的版本: 当用户单击Login按钮并让AuthEffect处理与服务器的通信时,发送登录操作 在Login组件中直接调用AuthService的Login方法,并在服务器返回响应时在被调用的回调中调度Login操作 这里有没有我忽略的重要优点或缺点?还是由我来决定怎么做?您不应该在组件中调用服务,因为您的组件将依赖于该服务,并且当您的应用程序增长较大时,您将在维护代码方面遇到问题 使用ngrx在组件中调度操作,以便e

NGRX是否对直接在组件中使用服务有任何意见

示例:

登录组件:如何处理登录的版本:

  • 当用户单击Login按钮并让AuthEffect处理与服务器的通信时,发送登录操作
  • 在Login组件中直接调用AuthService的Login方法,并在服务器返回响应时在被调用的回调中调度Login操作

这里有没有我忽略的重要优点或缺点?还是由我来决定怎么做?

您不应该在组件中调用服务,因为您的组件将依赖于该服务,并且当您的应用程序增长较大时,您将在维护代码方面遇到问题


使用ngrx在组件中调度操作,以便effect处理服务调用将是最佳做法,因为您不依赖于服务。您只需调度操作,effect将为您处理其余的操作。

您不应在组件中调用服务,因为您的组件将依赖于服务以及何时调用服务如果应用程序增长很大,那么维护代码就会有问题


使用ngrx在组件中调度操作,以便effect处理服务调用将是最佳做法,因为您不依赖于服务,您只需调度操作,effect将为您处理其余的操作

我建议您使用Facades处理与商店的交互,以实现更简单和更高的效率消除维护和缩放的困难,检查


我建议您使用Facades来处理与商店的交互,以便更简单,并消除维护和扩展的困难,请检查


但您如何处理这种情况:通过单击按钮,我创建了一个新的待办事项并将其发送到服务器。当服务器响应成功时,我想显示一个成功警报。组件从何处知道何时显示警报?您应该这样做,但如何处理这种情况:通过单击按钮,我创建一个新的ToDo项目并将其发送到服务器。当服务器响应成功时,我想显示一个成功警报。组件从何处知道何时显示警报?您应该这样做