Angular v4:我们将数据存储在服务或组件中还是两者都存储?
在查看了相当多的教程以及阅读了 Angular 的文档之后,我仍然不清楚这个主题。
https://angular.io/tutorial/toh-pt2 https://angular.io/tutorial/toh-pt2Angular 的教程清楚地显示了组件中存储的数据。
https://angular.io/guide/architecture#services https://angular.io/guide/architecture#servicesAngular 的体系结构 > 服务部分显示了具有数据数组的服务的代码(这正确吗?)。
如果我们将数据存储在组件中,我们会大量使用 @Input 和 @Output 在子组件之间移动数据(假设我们希望这些数据在前端),但是当我们使用路由时,这会带来问题,我们需要从路由器加载的新组件 -出口对我们的服务进行新的调用,以承诺对我们的服务器进行 API 调用以保存数据。在这种情况下,我们可能会有 2 个组件保存相同的数据 - 但它们可能不匹配。
如果我们将数据存储在服务中,我们将大量使用我们的服务来检索数据,并操作数据(假设我们希望在前端使用这些数据),这样我们的服务保存一组数据,并且每个组件可以随时调用服务数据以获得一致数据。
--
存储数据的正确方法是什么?
不建议选择其中之一吗?
一般来说,如果许多组件使用相同的数据,您希望将数据存储在服务中。这样,就可以非常轻松地从应用程序的所有不同部分访问相同的数据。如果一个组件修改了服务中的数据,那么所有使用该数据的组件都会修改该数据,这通常非常有帮助。但是,有时,如果您只需要将数据从一个组件发送到另一个组件(其中一个组件是另一个组件的父组件),则没有必要。在这种情况下,建议使用输入/输出。
如果你不需要在各个组件之间发送特定的数据,那么将数据存储在组件中是完全可以接受的!请记住,除非您使用输入/输出,否则无法从其他组件访问它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)