2015-12-18 5 views
0

У меня был рабочий код с альфа44, но обновление до беты меня побеждает. Я получаю эту ошибку:Angular2: Нет провайдера для <custom service>

EXCEPTION: No provider for e! (HomeCmp -> RestosSvc -> e) 

У меня есть включаю RestosSvc в моей начальной загрузке, и файл может быть найден. Это часть моей HomeCmp

import {Component} from 'angular2/core'; 

import { Resto, RestosSvc } from '../../services/RestosSvc'; 


@Component({ 
    selector: 'home', 
    templateUrl: './components/home/home.html', 
    styleUrls: ['./components/home/home.css'], 
    directives: [FiltersCmp, ListCmp, MapCmp], 
    providers: [RestosSvc] 
}) 
export class HomeCmp { 
    recommendations: Array<Resto> = []; 
    presetCrits: Object; 
    selectedResto: number = -1; 
    top5: boolean; 

    constructor(public restos: RestosSvc, urlCrits: RouteParams, public router: Router) { 

А вот RestoSvc

import {Injectable} from 'angular2/core'; 
import {Http} from 'angular2/http'; 
import {Observable} from 'rxjs/Rx'; 

@Injectable() 
export class RestosSvc { 
    http: Http; 

    constructor(http:Http) { 

Что мне не хватает?

+0

Как ваш RestosService выглядеть? –

+0

@EricMartinez добавил это сейчас –

+2

Саймон, вы добавили 'HTTP_PROVIDERS' в свой загрузочный блок, верно? Кстати, используйте пакеты 'dev', чтобы получить полное сообщение об ошибке, которое поможет вам отлаживать. –

ответ

1

Мы столкнулись с той же проблемой, потому что во время минификации у нас был установлен маневр. Отсутствие провайдера для e! дало одному из моих коллег намек на то, что это может быть проблемой с минимизацией. Проверьте свои миниатюрные файлы и убедитесь, что вы используете те, которые были сгенерированы с помощью mangle, установленным в false. Это постоянный вопрос и планируется исправить в течение нескольких недель

Подробнее здесь: https://github.com/angular/angular/issues/7306 https://github.com/AngularClass/angular2-webpack-starter/issues/262

Смежные вопросы