2016-09-14 6 views
2

я написал модуль функции, а ниже кодПонимание Angular2 Dependency Injection в модулях

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:» Ошибка в консоли браузера

Что нужно изменить, чтобы решить эту проблему вопрос?

ответ

0

Чтобы устранить эту проблему, я должен был изменить конструктор в app.create параметра Я-ticket.component.ts файл

Оригинальное

constructor(public service1 :AppTicketService) 

Modified

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

Вы может найти причину этого here