资讯专栏INFORMATION COLUMN

angular4学习记录 -- 依赖注入

ningwang / 2671人阅读

摘要:提供器作用域规则提供器声明在模块时是对所有组件是可见的,所有组件都可以注入。当一个提供器声明在组件时,只对他声明的组件和子组件可见,其他组件不可注入。

Angular4 依赖注入 什么是依赖注入

是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入

angular中依赖注入的具体使用 注入器:

在组件中的constructor中:

constructor(private productService: ProductService){}
提供器:

在app根组件module中或者在在组件中:

1. providers:[productService]  等价于 第二种
2. providers: [{provider: ProductService, useClass: ProductService}] 
3. priveders: [{provide: ProductService, useFactory: () => {}}]

三种声明式提供器

userClass

userFactory

userValue

注入器中指定的productService类型是providers中的provider,而provider使用的class是productService,所以注入器中productService的类型就是ProductService。 提供器作用域规则

1.提供器声明在模块时是对所有组件是可见的,所有组件都可以注入。
2.当一个提供器声明在组件时,只对他声明的组件和子组件可见,其他组件不可注入。
3.当声明在模块的提供器和组件的提供器具有相同的token时,声明在组件的提供器会覆盖模块的提供。
4.服务提供器优先声明在模块中,只有服务必须在某个组件可见,对其他组件不可见时才声明在组件中

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88601.html

相关文章

  • Angular2 VS Angular4 深度对比:特性、性能

    摘要:的特性和性能是的超集,用于帮助的开发。注解提供了连接元数据和功能的工具。通过在库中提供基本信息可以调用函数或创建类的实例来检查相关元数据,从而简化了对象实例的构建。停用它会响应跳出旧控制器的成功事件。 showImg(https://segmentfault.com/img/bVSqTU?w=850&h=460); 在Web应用开发领域,Angular被认为是最好的开源JavaScri...

    孙淑建 评论0 收藏0
  • angular4学习记录 -- 组件通讯、生命周期

    摘要:每完成被投影组件内容发生变化时调用。每次做完组件视图和子组件视图的变更检测之后调用。组件销毁时调用,主要用于内存回收。策略策略是当组件的输入属性发生变更时才会检查当前组件及其子组件。 angular4 组件通讯、生命周期 主要通讯形式 父组件通过属性绑定到子组件,子组件通过事件传递参数到父组件 父组件通过局部变量获取子组件的引用 父组件使用@ViewChild获取子组件的引用 两个不...

    shadajin 评论0 收藏0
  • Angular4学习笔记——组件之间的交互

    摘要:具体思路子组件暴露一个属性,当事件发生时,子组件利用该属性向上弹射事件。父组件绑定到这个事件属性,并在事件发生时作出回应。这个组件子树之外的组件将无法访问该服务或者与它们通讯。父子组件通过各自的构造函数注入该服务。 通过输入型绑定把数据从父组件传到子组件 Angular对于父组件 => 子组件的数据通信做法和Vue很相似。 // 父组件html模板 // 子组件接收数据 i...

    Guakin_Huang 评论0 收藏0
  • Angular4 动态加载组件杂谈

    摘要:最近接手了一个项目,客户提出了一个高大上的需求要求只有一个主界面,所有组件通过来显示。 最近接手了一个项目,客户提出了一个高大上的需求:要求只有一个主界面,所有组件通过Tab来显示。其实这个需求并不诡异,不喜欢界面跳转的客户都非常热衷于这种展现形式。 好吧,客户至上,搞定它!这种实现方式在传统的HTML应用中,非常简单,只是在这Angular4(以下简称ng)中,咋个弄呢? 我们先来了...

    testHs 评论0 收藏0
  • 前端框架这么多,该如何抉择?

    摘要:在引起状态变化的时刻,框架自动触发脏检查,也可以手动执行脏检查,直接操作更新视图。最后,说了这么多,大家在具体选型时还是要首先分析自己的需求和现状,然后再做选择。 作为一个软件开发者,最大的挑战就是在不断涌现的新技术中进行取舍,持续学习是从事这一行业的必备技能。在这个领域里,技术更新最快地又非前端莫属了。各种框架的出现、版本的更新此起彼伏,呈现出一派欣欣向荣之景。 在项目中必不可少的便...

    Jackwoo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<