Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dependency injection 动态创建组件中NgFor上的Angular 2依赖项注入错误_Dependency Injection_Angular - Fatal编程技术网

Dependency injection 动态创建组件中NgFor上的Angular 2依赖项注入错误

Dependency injection 动态创建组件中NgFor上的Angular 2依赖项注入错误,dependency-injection,angular,Dependency Injection,Angular,我已经使用动态创建了Angular 2组件,并尝试为其提供一个有用的模板(涉及NgFor),但这不知何故导致了一个“DI异常””依赖项注入错误 我已经为自己注入了NGF,所以现在它给了我一个无IterableDiffers提供者!(NgFor->IterableDiffers)。所以我注入了它,这让我找到了一个没有数组提供程序的地方!(NgFor->IterableDiffers->Array)。在这一点上,我被难住了;Array是一个基类型,而不是Angular的某个部分,以某种方式尝试类似地

我已经使用动态创建了Angular 2组件,并尝试为其提供一个有用的模板(涉及NgFor),但这不知何故导致了一个“
DI异常”
”依赖项注入错误

我已经为自己注入了NGF,所以现在它给了我一个
无IterableDiffers提供者!(NgFor->IterableDiffers)
。所以我注入了它,这让我找到了一个
没有数组提供程序的地方!(NgFor->IterableDiffers->Array)
。在这一点上,我被难住了;Array是一个基类型,而不是Angular的某个部分,以某种方式尝试类似地注入它是无效的(错误:Array是一个泛型;必须指定某个子类型)。我很困惑,但如果基本类型突然需要注射,我会感到惊讶

我做了一个翻版来重现我的问题。有趣的是,在Plunker上,DI异常被证明是
没有e的提供者!(e->e)
。不知道为什么会有不同,但原则问题似乎相似。。。虽然
e
提供的有用信息比
Array
更少<代码>:(


我该如何防止这种异常呢?

更新:在@ericmartinez上帮助我解决了这个问题,注意到DI错误可以通过to
loadAsRoot()
来防止,而实际获得要显示的
NgFor
结果则需要
changedtectorref.detectChanges()
在子组件中…即使它工作起来似乎是一个不幸的黑客行为,所以仍然试图弄清楚这是否是应该的…您是否在github上报告了一个问题?对不起,我知道他们存在的问题。希望它能得到修复;手动调用
detectChanges
可以工作,但非常烦人。不要这样做当你还不知道哪里出了问题或如何解决问题时,请提及hella Mizzing。。。