javascript - Angular - 多次使用的组件是否完全是自己创建的?

标签 javascript angular typescript

我有一个关于 Angular 组件的小问题。

我经常读到,您应该仅使用组件来显示数据并与用户交互,而对于您的“业务逻辑”,您应该更喜欢服务。

所以我的问题如下(只是一个例子):

假设我制作了一个通过拖放上传文件的组件。我有逻辑从拖放中获取数据并将其存储在该组件 typescript 文件内的数组(可能还有更多其他函数)中。

现在,当我在一个父组件中两次包含该组件时(例如,因为我需要两个上传字段),是否都引用相同的组件,或者该组件内部的程序逻辑是否为每个实例创建了两次?

如果是这样,那么我应该尝试在单例服务中保留尽可能多的共享程序逻辑,这样它们只在运行时创建一次,并且不会浪费内存等,不是吗?

希望有人明白我的意思:)。

提前致谢!

最佳答案

如果您将组件两次添加到父组件中,则会创建两个不同的实例(每个实例都拥有唯一的范围)。

但是,您应该将上传/处理逻辑抽象到服务中。在模块中提供该服务以使其成为单例。如果您想要每个组件都有实例,请在组件内部提供它。

关于javascript - Angular - 多次使用的组件是否完全是自己创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51724898/

相关文章:

javascript - Angular2 rc1,shims_for_IE 在哪里

javascript - 在顶层将 Redux 连接到我的应用程序不起作用

typescript - 如何从 TypeScript 中完全隐藏不相关的类型声明目录?

typescript - 如何在 TypeScript 中声明不同类型的对象数组?

asp.net - 如何在一个 Azure Web App 上托管多个应用程序

Javascript 回调 - 为什么这些回调以不同的顺序处理?

javascript - 使用 jQuery 切换复选框背景颜色

javascript - 如何在 Laravel 或 Django 的 Web 应用程序中实现指纹

javascript - 如何发起与 getstream.io 的一对一聊天?

javascript - 对象可能是 'null' 。 TS2531 定义 useScroll Hook 时出错