Angular2中的Service并不是单例模式

2015年做了一个使用angularjs 1框架的项目,2016年伊始公司的项目转为使用Angular2框架。

在开发过程中发现了一个坑,这个坑就是在Angular JS 1.x中的Service是单例模式,只要创建了一个Service,那么程序都在使用这唯一的Service。

但是在Angular 2中,Service并不是单例模式,Compnent会从自己向母页寻找Service,直到Module。

如果不同的Component里面都在providers添加了Service,那么这些Component都只会访问自己的Service。

如果想在不同的Component中使用同一个Service,那就找到这两个Component的母页,在母页的providers中加入这个Service。

				
时间: 2024-10-28 16:23:12

Angular2中的Service并不是单例模式的相关文章

如何在Java Filter 中注入 Service

在项目中遇到一个问题,在 Filter中注入 Serivce失败,注入的service始终为null.如下所示: public class WeiXinFilter implements Filter{ @Autowired private UsersService usersService; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOExc

转: servlet中的service, doGet, doPost方法的区别和联系

大家都知道在javax.servlet.Servlet接口中只有init, service, destroy方法 但是我们在继承HttpServlet的时候为何一般重写doGet和doPost方法呢 下面我们看一下Servlet源代码: 注意: JDK只是定义了servlet接口,而实现servlet接口的比如tomcat, jboss等服务器 下面我们找到tomcat源代码, 可以到官网下载, 目前最新版本是7.0.53 找到javax.servlet.http.HttpServlet类, 下

Android插件化开发---运行未安装apk中的Service

如果你还不知道什么叫插件化开发,那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从整体角度分析了一下Android插件化开发的几个难点与动态加载没有被安装的apk中的Activity和资源的方法.其实一般的插件开发主要也就是加载个Activity,读取一些资源图片之类的.但是总有遇到特殊情况的时候,比如加载Service. 要动态加载Service,有两种思路:一是通过NDK的形式,将Service通过C++运行起来(这种方法我没有尝试,只听群里的朋友说实现

Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大多基于jQuery和它的插件.而且现在Angular2的组件生态还不是很完善,我们在编写Angular的时候也许会想要用到jQuery.本篇文章就简单介绍下在Angular2中使用jQuery 如果你不知道怎么搭建Angular2开发环境,请参考我之前写这篇文章:Angular2入门系列教程1-使用

summit SMT中dispatch service无法启动的问题

[问题描述] 在环境维护的过程中,发现SMT中dispatch service启动后就停止的情况,查看日志,发现errorlog为空 [解决方法] 删除client tree下etc/stpcfg目录中的dispatch service相关的配置文件,这样的话dispatch service启动的时候就会去找summit核心的配置文件, 这样如果服务可以正常启动的话,说明是dispatch service客制化导致的错误,要从客制化过的配置文件开始排查错误.

(转)Android 中的 Service 全面总结

转自 http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html 1.Service的种类   按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上,  服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL.相应bindService会方便很多.  主进程被Kill后,服务便会终止.  非常常见的应用如:HTC

编程中为什么要用到单例模式?

编程开发中为什么要用到单例模式? 单例模式的存在,一则,解决多线程并发访问的问题.二则节约系统内存,提交系统运行的效率,提高系统性能. 单例模式的代码: 1 public class Printer { 2 private static Printer printer =null;//创建一个私有的全局变量 3 /* 4 * 如果有多线程并发访问时,上锁,让其排队等候,一次只能一人用. 5 */ 6 public static synchronized Printer getPrinter(){

关于如何在Listener中注入service和ServletContextListener源码分析

今天在做项目时突然发现我该如何向listener中注入service对象,因为监听器无法使用注解注入. 此时有人会想用以下代码通过xml的方式注入: ApplicationContext context=new ClassPathXmlApplication(*.xml); productService =(ProductService)context.getBean("productService"); 这样的话会导致一个问题,那就是Tomcat会两次加载spring的配置文件.所以

Android 中的 Service 全面总结

原文地址:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html 1.Service的种类 按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上,  服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL.相应bindService会方便很多.  主进程被Kill后,服务便会终止.  非常常见的应用如:HTC