Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular – 无法解析UserService的所有参数:( Http ,?)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的项目工作正常,直到我升级到最近的Angular2版本2.0.0-beta.17

我的Userservice是这样的

import { InjectablE} from '@angular/core';
import { http } from '@angular/http';
import { Baseservice } from './base.service';
import { SubDomain } from './../interfaces/subdomain.interface';
import { SubDomainservicE} from './index';

@Injectable()
export class Userservice extends Baseservice {
  subDomain: SubDomain;
  constructor(
    private _http: http,private subDomainservice: SubDomainservice
  ) {
     super();
     this.subDomain = subDomainservice.subDomain;
  } 
}

和SubDomainservice是这样的

import { Injectable } from '@angular/core';
import { SubDomain } from './../interfaces/subdomain.interface';
import { Companyservice } from './company.service';

@Injectable()
export class SubDomainservice {
  subDomain: SubDomain = {
    exists: false,is_sub_domain_url: false,sub_domain: '',company_id: '',user_id: '',name:''
  };

  constructor(
    private _companyservice: Companyservice
  ) {
  }
}

我查找了解决方案,但大多数是关于使服务可注射,但在这里我遵循相同的约定,但仍然是它给出了错误

我的AppModule是这样的

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { CoreModule } from './core.module';
import { AppComponent } from './app.component';
import { routes } from './config/routes/index';

@NgModule({
 declarations: [
   AppComponent
 ],imports: [
   routes,BrowserModule,CoreModule.forRoot()
 ],bootstrap: [AppComponent]
})
export class AppModule { }

CoreModule是这样的

import {ModuleWithProviders,NgModule,Optional,SkipSelf } from '@angular/core';
import { 
  SubDomainservice,Companyservice,Userservice
} from './shared/services/index';
import {SharedModulE} from './shared/modules/shared.module';

@NgModule({
   exports: [SharedModule]
})

export class CoreModule {
   static forRoot(): ModuleWithProviders {
    return {
        ngModule: CoreModule,providers: [SubDomainservice,Userservice,Companyservice]
    };
   }

   constructor( @Optional() @SkipSelf() parentModule: CoreModulE) {
       if (parentModulE) {
           throw new Error('CoreModule is already loaded. Import it in the AppModule only');
       }
   }
}

解决方法

这可能是由于这个import语句造成的

import { SubDomainservicE} from './index';

你可能从另一个文件导出SubDomainservice,例如index.ts,虑直接从它自己的文件导入服务.

大佬总结

以上是大佬教程为你收集整理的angular – 无法解析UserService的所有参数:( Http ,?)全部内容,希望文章能够帮你解决angular – 无法解析UserService的所有参数:( Http ,?)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。