Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular – 服务相互依赖大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的Angular 2应用程序中,@L_772_0@两个相互依赖的服务(服务A来自服务B的调用方法,反之亦然).

以下是相关代码

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本身的问题.我所知道的任何语言都不允许这样做.

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

如果您遵循单一责任原则,您将发现您不会进入循环依赖陷阱.

大佬总结

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

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

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