首页 > 解决方案 > Angular 5-注销代码应该放在哪里?

问题描述

这更像是一个设计问题而不是编程问题。

我想在 Angular 5 中创建注销功能。注销功能将包含以下伪代码:

  1. 清除本地存储认证 JWT 令牌
  2. 重定向到登录页面

我的问题是;上面的代码应该在哪里;在组件中还是在服务中?

我相信,服务应该包含仅与后端交互的逻辑,组件应该包含表示逻辑(如果我错了,请纠正我)。

由于注销代码不是处理后端的任何逻辑,因此理想情况下它应该位于组件中。但是,如果我必须在其他地方执行相同的注销操作,调用服务并执行代码会更容易,而不是在某些不同的组件中再次编写相同的两行代码。

那么代码应该在哪里呢?

标签: angularangular5

解决方案


您可以在服务中创建注销方法,例如:

logout() {
this.localStorageService.remove('currentUser');
this.localStorageService.clear();
this.subject.next(false);
}

从注销组件调用该服务方法。不要忘记在您的服务中提供注销路径。要重定向登录页面,您可以执行以下操作:

location.href="/loginUrl";

从注销方法。


推荐阅读