gpt4 book ai didi

typescript - Angular 2 和 SystemJS 的循环依赖

转载 作者:太空狗 更新时间:2023-10-29 18:26:57 25 4
gpt4 key购买 nike

<分区>

我有一个问题,我认为是由循环依赖引起的。经过一些广泛的研究,我一直无法找到解决方案。它看起来与这个问题有关:TypeError: b is undefined in __extends在 TypeScript 中,但它对我没有帮助。

我已经能够在 this plunker 中简化问题.

基本上有3个类:

  • A 类,包含 A 的数组
  • B,继承自A
  • F 类,一个可以根据值创建AB 的工厂

这样做的目的是处理一个可以是动态的参数列表(每个 A 是一个参数并且可以是一个数组),其中 BA 来处理文件。我尝试删除工厂,但只有 AB 我仍然遇到相同的错误:

类型错误:b 未定义
加载 http://localhost:3000/app/main.js 时出错

这里是a.ts

的代码
import { F } from './f';

export class A {
children: A[]

constructor(hasChildren: boolean = false) {
if (hasChildren) {
for (var i = 0 ; i < 10 ; ++i) {
let isB = (Math.random() * 2) > 1;
this.children.push(F.createObject(isB))
}
}
}
}

b.ts

import { A } from './a';

export class B extends A {
}

f.ts

import { A } from './a'
import { B } from './b'

export class F {
static createObject(isB: boolean): A {
if (isB) {
return new B
} else {
return new A
}
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com