当前位置: 首页 > 知识库问答 >
问题:

Angular 2-无法解析组件的所有参数:(?)

丁英韶
2023-03-14
Can't resolve all parameters for HomeComponent: (?).(…) 
  import { NgModule }      from '@angular/core';
  import { BrowserModule } from '@angular/platform-browser';
  import { RouterModule }   from '@angular/router';
  import { SimpleNotificationsModule } from 'angular2-notifications';

  // Controllers
  import { AppComponent }  from './app.component';
  import { HomeComponent }  from './components/home.component';

  // Service
  import { AuthService } from './services/auth.service';

  // Guards
  import { AuthGuard } from './guards/auth.guard';

  @NgModule({
    imports: [ 
        BrowserModule,
        RouterModule.forRoot([
        {
          path: '',
          component: HomeComponent,
          canActivate: [AuthGuard]
        }
      ]),
      SimpleNotificationsModule
    ],
    declarations: [ 
        AppComponent,
        HomeComponent
    ],
    providers: [
        AuthGuard,
      AuthService,
    ],
    bootstrap: [ AppComponent ]
  })

  export class AppModule { }
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';

import { NotificationsService } from 'angular2-notifications';

import { AuthService } from '../services/auth.service';

@Component({
    selector: 'home',
    templateUrl: '/templates/home.html'
})

export class HomeComponent implements OnInit 
{
    public test: boolean = false;

    constructor( 
        private _authService: AuthService
    ) {}

    ngOnInit()
    {
        this.test = true;
    }
}

共有1个答案

胡越泽
2023-03-14

导入此

import {Inject} from '@angular/core';

并将构造函数更改为

constructor(@Inject(AuthService) _authService: AuthService) 
{

}

在使用构造函数之前,您应该@将任何服务注入构造函数。

@Injectable()
export class AuthService {

}
 类似资料:
  • 这似乎意味着没有提供http和图标配置参数,但是图标配置是在应用程序模块级别提供的,并且导入到,其中提供了。 和图标组件的桶。

  • @可在Service1和service2中注入 tsconfig.json emitDecoratorMetadata设置为true 在NGModule的提供者部分注册了Service1和Service2 如果有关系的话:我正在构建一个Ionic2RC0应用程序。以下是重要的文件: app.module.ts

  • 我把我的Angular2项目从Beta.21升级到Beta.25.5。我已经修复了所有错误,以便在使用AOT或非AOT时没有错误(例如ng serve) 现在,当浏览器加载时,我的许多服务在运行时都会出现此错误,它会影响该文件的所有参数服务。 首先,我删除了我正在使用的桶,并检查了循环依赖关系。 “

  • 我正在尝试使用组件并显示一个对话框。只有当我需要使用时,才会出现此错误。只要不插入就可以创建对话框。 我见过类似这样的问题的其他答案,但我似乎无法将其转化为我的解决方案。需要做些什么才能让它不失败? MessageDialog.component.ts 错误:无法解析MdlDialogReference:(?)的所有参数。在SyntaxError.zoneawareerror(http://loc

  • 我在我的Angular 2项目中为我的ag-grid声明了几个editorFrameWork组件。但是,当我在编辑器组件的构造函数中插入任何服务时,TypeScript编译器会在加载网页时引发以下错误: 对于另一个需要注入服务的编辑器组件,我已经解决了这个问题,方法是为该组件声明一个模块,并将该模块包含在app.module中。但是,如果我将第二个编辑器组件模块与第一个编辑器组件模块一起添加到下面

  • 我试图实现一个第三方的SDK捆绑包时,我运行我得到了以下错误: 任务“:app:checkDebugarMetadata”的执行失败。 无法解析配置“:app:debugRuntimeClasspath”的所有文件。 无法解析com。ts.auth-control-sdk:5.1.1。要求:项目:应用 sun.security.provider.certpath.SunCertPathBuilde