离子/角度提供者/服务 - 单身 - 单个实例?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了离子/角度提供者/服务 - 单身 - 单个实例?相关的知识,希望对你有一定的参考价值。

我已经读过服务(角度)/提供者(离子)可以特定于组件,或者可以通过在模块级别注册它来由组件共享。我知道这是单例概念,它是所有组件共享的单个实例。我的问题是 - 假设服务/提供者具有基于登录的用户ID从db获取数据的代码,那么在这种情况下,单个实例概念如何区分使用该应用程序的所有用户?在这方面有点困惑。

答案

据我所知,singleton意味着单个组件/服务具有可以与任何其他页面/组件/控制器/共享的内容,但所有这些都发生在应用程序的一个实例中。

示例:让我们说在我们的项目中我们有3页控制器:page1.html, ctrl1.jspage2.html, ctrl2.jspage3.html, ctrl3.js

我们还有1项服务:service1.js

service1.js,我们有一个名为getUserName()的函数

单身人士的概念将允许从所有3个控制器调用getUserName()。如果服务不是sigleton,这意味着它将与一个控制器/页面相关,因此如果service1.js仅与ctrl1.js相关,则无法从ctrl2.js调用函数getUserName()

重要提示:所有这一切都发生在应用程序的一个实例中,单例并不意味着服务在应用程序的所有正在运行的实例之间都是共享的。

话虽这么说,如果你使用你的服务根据一些参数从数据库中获取数据,那么你实现的逻辑决定了将返回什么数据。

以上是关于离子/角度提供者/服务 - 单身 - 单个实例?的主要内容,如果未能解决你的问题,请参考以下文章

如何在离子框架的控制器中注入角度服务?

图书馆类的单身人士

离子框架和角度 ui 日历问题?

条件角度组件提供者

sh 知道离子框架(离子角度)版本使用。

离子包构建失败 - 离子角度工具包