我一直在努力services互相注入.构造函数和依赖注入中的以下博客循环依赖关系在它所说的地方有点令人困惑
两个对象之一是隐藏另一个对象C.
我在将Service类注入彼此时遇到以下错误
无法解析PayrollService的所有参数:(SiteService,StorageService,SweetAlertService,?)
//abstractmodal.service.ts
@Injectable()
export abstract class AbstractModel {
abstract collection = [];
constructor(private siteService: SiteService, private storageService: StorageService,
private sweetalertService: SweetAlertService) {}
setCollectionEmpty() {
this.collection = [];
}
}
//account-payable.service.ts
@Injectable()
export class AccountPayableService extends AbstractModel {
public collection = [];
constructor(private sS: SiteService,private stS: StorageService, private sws: SweetAlertService,
private accpPoService: PayablePurchaseOrderService, private attachmentService: AttachmentService,
private injectorService: InjectorService) {
super(sS, stS, sws);
}
}
//injector.service.ts
@Injectable()
export class InjectorService {
constructor(private …Run Code Online (Sandbox Code Playgroud) 我一整天都在努力merge function为多维数组创建一个。这个场景有点不同,很难用语言来描述。相反,我将尝试用一个实际的例子来解释它。
$actual_array = [
'assets' => [1, 2, 3],
'liabilities' => [1, 2, 3, 4, 5, 6],
'equity' => [1],
'income' => [1, 2, 3, 4],
'expenses' => [1, 2, 3]
];
$merge = [
'balance_sheet' => ['assets', 'liabilities', 'equity'],
'income' => ['income', 'expenses'],
];
self::merge( $merge, $actual_array );
Run Code Online (Sandbox Code Playgroud)
该函数将合并指定的列,然后转置和填充结果。
public static function merge( array $merges, array $data )
{
$bigger_array_length = 0;
$arr = [];
$columns = [];
foreach ($merges as $key => $merge) {
foreach …Run Code Online (Sandbox Code Playgroud) php arrays transpose associative-array multidimensional-array
我知道这个问题已经问过很多遍了,但实际上没有一个人帮助过我。我在Windows 10上并使用以下代码通过npm成功安装了bower
npm install -g bower
Run Code Online (Sandbox Code Playgroud)
我已经将路径添加到系统环境变量,但是仍然收到相同的错误Bower,无法将其识别为内部或外部命令。
我在系统环境变量中添加了以下路径
C:\Users\habib\AppData\Romaing\npm
Run Code Online (Sandbox Code Playgroud)
当我尝试
npm config get prefix
C:\Users\habib\AppData\Romaing\npm
Run Code Online (Sandbox Code Playgroud)
当我尝试
npm bower -v
Run Code Online (Sandbox Code Playgroud)
我得到凉亭版本
他们俩都不为我工作。
为什么?
我已经谷歌了很多这个问题,但没有找到任何相关的文章或stackoverflow问题虽然有很多问题具有相同的标题但在场景中有所不同.我无法在服务的构造函数上要求依赖项,这就是我收到此错误的原因.
Bootstrap at least one component before injecting Router. ; Zone: <root> ; Task: Promise.then ; Value: Error: Bootstrap at least one component before
Run Code Online (Sandbox Code Playgroud)
注意:如果我只是clear the constructor在其中定义的依赖关系,CustomerService class它就像一个魅力.
@Injectable()
export class CustomerService
constructor(private authService: AuthService, private siteService: SiteService) { }
Run Code Online (Sandbox Code Playgroud)
AuthService和站点服务类及其依赖项加载没有问题.只是AuthService和SiteService类的一些sudo外观
@Injectable()
export class AuthService
constructor(private http: Http, private storageService: StorageService,
private siteService: SiteService, private router: Router) {}
@Injectable()
export class SiteService {
constructor(private http: Http, private storageService: StorageService) {}
Run Code Online (Sandbox Code Playgroud)
还有App Module @ngModule装饰. …