我有一个关于 Angular 组件的小问题。
我经常读到,您应该仅使用组件来显示数据并与用户交互,而对于您的“业务逻辑”,您应该更喜欢服务。
所以我的问题如下(只是一个例子):
假设我制作了一个通过拖放上传文件的组件。我有逻辑从拖放中获取数据并将其存储在该组件 typescript 文件内的数组(可能还有更多其他函数)中。
现在,当我在一个父组件中两次包含该组件时(例如,因为我需要两个上传字段),是否都引用相同的组件,或者该组件内部的程序逻辑是否为每个实例创建了两次?
如果是这样,那么我应该尝试在单例服务中保留尽可能多的共享程序逻辑,这样它们只在运行时创建一次,并且不会浪费内存等,不是吗?
希望有人明白我的意思:)。
提前致谢!
最佳答案
如果您将组件两次添加到父组件中,则会创建两个不同的实例(每个实例都拥有唯一的范围)。
但是,您应该将上传/处理逻辑抽象到服务中。在模块中提供该服务以使其成为单例。如果您想要每个组件都有实例,请在组件内部提供它。
关于javascript - Angular - 多次使用的组件是否完全是自己创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51724898/