Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Angular2:2服务依赖于彼此大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的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本身的一个问题.我不知道任何语言是不允许的.

您将需要重构代码删除此循环依赖关系.您可能需要将其中一项服务分解为新服务.

在你遵循单一的责任原则,你会发现你不会陷入循环依赖陷阱.

大佬总结

以上是大佬教程为你收集整理的Angular2:2服务依赖于彼此全部内容,希望文章能够帮你解决Angular2:2服务依赖于彼此所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: