了解模块中的Angular2依赖注入

时间:2016-09-14 10:52:04

标签: javascript angularjs angular

我编写了一个功能模块,下面是代码

app.ticket.service.ts,这是我想要注入的服务

'use strict';    
import { Injectable } from '@angular/core' 

Injectable()
export class AppTicketService {    

    SaveTicket(): string {
return "service saved ticket";
    }       

}

app.tickets.module.ts,这是我的功能模块

'use strict';
import { NgModule } from '@angular/core';
import { SharedModule } from '../shared/app.shared.module';
import { AppCreatTicketComponent } from './app.create-ticket.component';
//-- import services
import { AppTicketService } from './app.ticket.service';

//-- import routing
import { ticketRouting } from './app.ticket.routing';
  @NgModule({
    declarations:[ AppCreatTicketComponent],
     imports:[ SharedModule,
               ticketRouting],
     exports:[],
     providers:[AppTicketService]
 })

 export class TicketsModule { }   

app.create-ticket.component.ts,这是我的组件, 属于功能模块

 'use strict';
 import { Component , OnInit , Inject} from '@angular/core';    

 //-- import service
 import { AppTicketService } from './app.ticket.service';

 @Component({
 templateUrl: '/tickets/create'
 })

 export class AppCreatTicketComponent implements OnInit{

 ngOnInit(){}

 constructor(public service1 :AppTicketService) {
    let test = this.service1.SaveTicket();      
 }

 }

在运行时我得到:

  

“无法解析AppCreatTicketComponent的所有参数:”浏览器控制台中的错误

需要修改哪些内容才能解决此问题?

1 个答案:

答案 0 :(得分:0)

要修复此问题,我必须修改app.create-ticket.component.ts文件中的构造函数参数

<强>原始

constructor(public service1 :AppTicketService)

<强>修饰

constructor(@Inject(AppTicketService) private service1: AppTicketService)

您可以找到here

的原因
相关问题