Angular2:2服务依赖于彼此
发布时间:2020-12-17 09:27:17 所属栏目:安全 来源:网络整理
导读:在我的Angular 2应用程序中,我有两个依赖于彼此的服务(来自服务B的服务A调用方法,反之亦然). 以下是相关代码: 在app.component.ts中: import {Component} from 'angular2/core';import {TempService} from '../services/tmp';import {Temp2Service} from '
在我的Angular 2应用程序中,我有两个依赖于彼此的服务(来自服务B的服务A调用方法,反之亦然).
以下是相关代码: 在app.component.ts中: import {Component} from 'angular2/core'; import {TempService} from '../services/tmp'; import {Temp2Service} from '../services/tmp2'; @Component({ selector: 'my-app',templateUrl: 'app/app/app.component.html',providers: [TempService,Temp2Service] }) export class AppComponent { (...) } 服务1: import {Injectable} from 'angular2/core'; import {Temp2Service} from './tmp2'; @Injectable() export class TempService { constructor (private _sessionService: Temp2Service) {} } 服务2: import {Injectable} from 'angular2/core'; import {TempService} from './tmp'; @Injectable() export class Temp2Service { constructor (private _sessionService: TempService) {} } 运行应用程序会导致以下错误:
当在其中一个服务中注释构造函数时,应用程序运行正常. 感谢您的建议!
这是一个所谓的循环依赖.这不是Angular2本身的一个问题.我不知道任何语言是不允许的.
您将需要重构代码以删除此循环依赖关系.您可能需要将其中一项服务分解为新服务. 在你遵循单一的责任原则,你会发现你不会陷入循环依赖陷阱. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |