简体   繁体   English

依赖注入在Angular 2入门应用程序中不起作用

[英]Dependency Injection not working in Angular 2 starter application

When I try to inject ANY dependency I get a weird error 当我尝试注入任何依赖项时,我得到一个奇怪的错误

TypeError: Cannot set property 'stack' of undefined
at NoProviderError.set [as stack] (errors.js:64)
at assignAll (zone.js:704)
at NoProviderError.ZoneAwareError (zone.js:775)
at NoProviderError.BaseError [as constructor] (errors.js:26)
at NoProviderError.AbstractProviderError [as constructor] (reflective_errors.js:53)
at new NoProviderError (reflective_errors.js:102)
at ReflectiveInjector_._throwOrNull (reflective_injector.js:994)
at ReflectiveInjector_._getByKeyDefault (reflective_injector.js:1031)
at ReflectiveInjector_._getByKey (reflective_injector.js:981)
at ReflectiveInjector_.get (reflective_injector.js:743)
at AppModuleInjector.NgModuleInjector.get (ng_module_factory.js:149)
at CompiledTemplate.proxyViewClass.AppView.injectorGet (view.js:152)
at CompiledTemplate.proxyViewClass.DebugAppView.injectorGet (view.js:580)
at CompiledTemplate.proxyViewClass.View_AppComponent_Host0.createInternal (host.ngfactory.js:15)
at CompiledTemplate.proxyViewClass.AppView.createHostView (view.js:108)

I have just used the Angular-Cli ng new PROJECT_NAME_HERE command. 我刚刚使用了Angular-Cli ng新的PROJECT_NAME_HERE命令。

Inside of my app.component.ts all I have is 我的app.component.ts内部只有

import { Component } from '@angular/core';
import { FormBuilder } from '@angular/forms';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.sass']
})
export class AppComponent {

 constructor(
   private formBuilder: FormBuilder
 ) {
 }

}

Edit: The error I was receiving was because of an issue from v0.7.5 of zone.js, and like user3492940 & Santanu Biswas stated I also needed to import the ReactiveFormsModule, into my app.module 编辑:我收到的错误是由于来自zone.js v0.7.5的问题,并且像user3492940和Santanu Biswas所说,我还需要将ReactiveFormsModule导入到我的app.module中。

您需要从AppModule @angular/forms导入ReactiveFormsModule ,并将其包括在imports列表中。

Make downgrade zone.js to 0.7.4 将zone.js降级到0.7.4

npm install --save zone.js@0.7.4

It's problem in 0.7.5 version. 0.7.5版本中有问题。 Issue #595 问题#595

I'm still relatively new with Angular 2 components but looking at your component, i think you need moduleId: module.id, 我对Angular 2组件还比较陌生,但查看您的组件,我认为您需要moduleId:module.id,

@Component({
  moduleId: module.id,
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.sass']
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM