Angular2:没有<custom service =“”>的提供者

时间:2015-12-18 18:04:06

标签: angular

我使用alpha44工作代码,但升级到beta却打败了我。我收到这个错误:

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) {

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我们遇到了同样的问题,因为我们在缩小过程中将mangle设置为true。 e!的没有提供者给了我的一位同事暗示这可能是缩小的问题。检查缩小的文件,并确保使用mangle设置为false时生成的文件。这是一个持续的问题,计划在几周后修复

更多信息: https://github.com/angular/angular/issues/7306 https://github.com/AngularClass/angular2-webpack-starter/issues/262