源代码:

const BASE_URL = new InjectionToken<string>('BaseUrl');const injector = Injector.create({providers:[{provide: BASE_URL, useValue: 'http://localhost'}]});const url = injector.get(BASE_URL);console.log('Jerry url: ' + url);

输出:

new InjectionToken传进来的字符串充当description,没有实际意义:


调用Injector的static create方法:

useValue即我们期望这个token运行时使用的实际值:


Injector传入一个injection token进去,会发生怎样的火花?

this.records是一个Map: Key为injection token,value为实际值:

注释写的很清楚,hydrate一个token的实例出来:


大功告成:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

通过一个简单的例子学习Angular Injection Token工作原理相关推荐

  1. 一个简单的例子学习 HTML 元素property和attribute的区别

    源代码: <html> <style> </style><button disabled>Click</button> <button ...

  2. 用一个简单的例子学习Self Attention实现指代替换

    不用编程,不用数学公式,纯粹用手动方式说明Self Attention机制是如何实现指代替换的.   看下面两段话: 1. 猫过不了街道因为它太宽了. 2. 猫过不了街道因为它太胖了. 作为人类,我们 ...

  3. 通过一个简单的例子,了解 Cypress 的运行原理

    Cypress 是 SAP Spartacus 前端 e2e 测试使用的框架. Cypress 并不是广义上的 web 自动化工具,并不适合编写脚本来测试已经处于生产状态下的不受测试者控制的网站. C ...

  4. 一个简单的例子,学习自定义注解和AOP

    转载自   一个简单的例子,学习自定义注解和AOP 记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了. 1 ...

  5. fastslam matlab,fastslam 快速定位和构图的源码,一个简单的例子,3D建模,可以用作学习智能机器人自主移动 matlab 272万源代码下载- www.pudn.com...

    文件名称: fastslam下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 31 KB 上传时间: 2015-03-19 下载次数: 22 详细说明:快速定 ...

  6. pycharm安装scrapy失败_Scrapy ——环境搭配与一个简单的例子

    在我刚接触爬虫的时候就已经听过Scrapy大名了,据说是一个很厉害的爬虫框架,不过那个时候沉迷于Java爬虫.现在终于要来揭开它神秘的面纱了,来一起学习一下吧 欢迎关注公众号:老白和他的爬虫 1.环境 ...

  7. 量子运算 简单通俗例子_什么是量子计算机? 用一个简单的例子解释。

    量子运算 简单通俗例子 by YK Sugi 由YK Sugi 什么是量子计算机? 用一个简单的例子解释. (What is a quantum computer? Explained with a ...

  8. vue 如何生成一个dom元素_通过一个简单的示例学习如何编写Vue组件

    大家好,本篇文章我将带着大家一起学习如何编写自定义组件(Components),通过「vue基础」新手快速入门篇(一)这篇文章的学习,我们知道了 Vue 设计的目的就是为了方便我们创建基于组件UI的项 ...

  9. 一个简单的例子解释什么是量子计算机

    大家好! 前几天,我访问了加拿大温哥华的D-Wave Systems.这是一家制造尖端量子计算机的公司. 我在那里学到了很多关于量子计算机的知识,所以我想在这篇文章中与你们分享我在那里学到的一些东西. ...

最新文章

  1. Injection of @Reference dependencies failed;
  2. Linux下Boost编译安装
  3. python列表可以混合类型_如何在Python中将混合数据类型的列表转换为数据帧
  4. jQuery的preventDefault()
  5. 小米 MySQL 数据实时同步到大数据数仓的架构与实践
  6. SqlSession的使用范围---Mybatis学习笔记(五)
  7. mini2440:最简单的嵌入式linux驱动程序模块,mini2440:最简单的嵌入式Linux驱动程序模块 解决找不到mini2440……sample...
  8. 1.4编程基础之逻辑表达式与条件分支 08 判断一个数能否同时被3和5整除
  9. 【转】 Objective C实现多继承
  10. 如何将项目发布到阿里云_尚硅谷基于阿里云搭建数据仓库(实时)项目视频发布...
  11. 手机电源键关不了屏幕_没有home键iphone强关机,关机你会吗?小的快来!
  12. python装饰器用法
  13. [微信小程序]云服务器上传图片或视频
  14. VC MFC按钮(CButton)控件
  15. 金蝶K3提取在途订单数据并设置触发(可用于在途订单交期回复)
  16. 【Python】——Excel
  17. SDK全局热更新方案(全网唯一)
  18. java 蓝桥杯 奇怪的数列
  19. 2018世界杯赛程PHP源码,PHP-ML机器学习预测2018俄罗斯世界杯比赛结果
  20. android手机值多少钱,Android泪飚:二手iPhone也这么值钱

热门文章

  1. JavaSE 学习参考:变量(1)
  2. Python之类的继承
  3. 整理 | 软件与工具的收集汇总及推荐
  4. 数据库MySQL/mariadb知识点——函数
  5. while循环打印*菱形
  6. script标签中的async和defer
  7. 表单中的只读和禁用属性
  8. Document的理解
  9. 分布式与人工智能课程(part9)--Pandas绘图
  10. Django(part8)--响应及HttpResponse对象