这更像是一个设计问题,而不是编程问题。
我想在Angular 5中创建Logout功能。注销功能将包含以下伪代码:
我的问题是;上面的代码应该在哪里;在组件或服务中?
我相信,服务应包含仅与后端交互的逻辑,组件应包含表示逻辑(如果我错了,请纠正我)。
由于注销代码不是处理后端的任何逻辑,理想情况下它应该位于组件中。但是,如果我必须在其他地方执行相同的注销操作,则更容易调用服务并执行代码,而不是在某个不同的组件中再次写入相同的两行。
那么代码到底应该在哪里?
答案 0 :(得分:0)
您可以在服务内部创建注销方法,例如:
logout() {
this.localStorageService.remove('currentUser');
this.localStorageService.clear();
this.subject.next(false);
}
从注销组件中调用该服务方法。不要忘记在您的服务中提供注销路径。要重定向登录页面,您可以执行以下操作:
location.href =“ / loginUrl”;
通过注销方法。