美文网首页
Angular 有关服务注入的几个知识

Angular 有关服务注入的几个知识

作者: Kevin_Tsang | 来源:发表于2019-05-24 10:23 被阅读0次

    1、当创建一个服务,ng默认为他生成一个注入信息

    @Injectable({
      providedIn: 'root'
    })
    

    这代表该服务被根组件创建,只会实例化一次,是一个全局服务;

    2、当带有默认注入信息的服务仅在惰性加载的特性模块中使用时,它就会自动绑定到这个模块,当这个模块被加载时才会实例化,这是ng自动做的优化工作;

    3、特别声明某个服务依赖惰性加载的特性模块有2种方法:
    ①在特性模块里创建一个子模块作为服务的提供商,并在服务的注入信息处声明该子模块是服务的提供商

    @Injectable({
      providedIn: ServiceModule
    })
    

    (此处若直接声明特性模块为提供商,在模块内的组件使用该服务时ng将提示循环依赖警告)

    之后在特性模块中导入该子模块。

    ②在特性模块中声明自己是服务的提供商

     providers: [UserService]
    

    相关文章

      网友评论

          本文标题:Angular 有关服务注入的几个知识

          本文链接:https://www.haomeiwen.com/subject/odbwzqtx.html