博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Angular 2] BYPASSING PROVIDERS IN ANGULAR 2
阅读量:6991 次
发布时间:2019-06-27

本文共 922 字,大约阅读时间需要 3 分钟。

Artical --> 

 

Here trying to solve one problem:

On the left hand side of tree, there are 4 green blocks and 1 blue block. 

Meaning that three green dataService will use 'OtherProvider' which in an instance of DataService, but different from the root Provider, even it is also a instance of DataService.

 

Problem is how the blue one on the left can use the root provider instead of 'OtherProvider'.

 

Creating alias tokens with useExisting

@NgModule({  ...  providers: [    DataService,    { provide: ROOT_DATASERVICE, useExisting: DataService }  ]})export class AppModule {}
import { OpaqueToken } from '@angular/core';export const ROOT_DATASERVICE = new OpaqueToken('DataService');

We create a new provider call 'RootDataServcie' and using 'useExisting' key. And we use OpaqueToken to avoid naming conflicts.

 

In the component:

@Component()export class SomeComponent {    constructor(private contactService: RootDataService) {}}

 

转载地址:http://tmbvl.baihongyu.com/

你可能感兴趣的文章
mybatis生成UUID主键,且获取当前新增的UUID主键
查看>>
让OSChina的Windows Phone客户端支持后退键
查看>>
HTML -对象 object 元素
查看>>
hibernate常见问题总结
查看>>
JVM调优工具
查看>>
怎么判断 Python 对象是否包含某个属性?
查看>>
锁的种类
查看>>
高可用架构设计
查看>>
分布式系统与集群的区别
查看>>
iOS开发 常用插件、工具
查看>>
求线段或直线与圆的交点
查看>>
归并排序
查看>>
前端如何遍历Map转换而来的json数据?
查看>>
ElasticSearch 重写IK分词器源码设置mysql热词更新词库
查看>>
解决putty network error software caused connection abort 自动中断
查看>>
64位Ubuntu下如何安装32位程序(也适用于Mint)
查看>>
应用启动画面停留3秒 跳转主页面() 详解
查看>>
Go1.1性能测试报告(和C差距在10%以内)
查看>>
Linux下安装tomcat解压版
查看>>
postgreSQL数据库索引碎片清理
查看>>