2016-11-23 2 views
0

私はFooServiceを使用していませんが、Angular 2は文句を言います。プロミス拒否:FooServiceが定義されていません

export class DisplayFooComponent implements OnInit { 

private foo: Foo; 

constructor() {} 

ngOnInit() { 
// this.getFoo(); 
this.foo.name = "Bar Test"; 
} 

// getFoo() : void { 
// this.fooService.getFoo() 
//  .then(foo => this.foo = foo); 
// } 
} 

私はこれを数時間追跡しました。 (角2が出erroringされているので)私がしなければしかし

をサービスを参照すべてがなくなっているが、それはまだそれが定義されていないことに文句を言うと、それはページに何も表示されません。

export class DisplayFooComponent implements OnInit { 

private foo: Foo; 

constructor(private fooService:FooService) {} 

ngOnInit() { 
this.getFoo(); 
//this.foo.name = "Bar Test"; 
} 

getFoo() : void { 
    this.fooService.getFoo() 
    .then(foo => this.foo = foo); 
} 
} 

私はまだサービスが定義されていないというエラーが出ますが、それは私のサービスを使用し、http呼び出しを行い、それでもFooを取得します。

私はここで本当に簡単なものがないと思います。どんな助けでも大歓迎です。

答えて

0

アップグレード:あなたはまた、モジュールにインポートする必要があり

import {FooService} from 'youPath/fooService'; 

@Component({ 
    providers: [FooService], 
    templateUrl: './youTemplate.html' 

}) 

あなたはまた、ファイルをインポートする必要がありますbeta.20.5から1.0.0-beta.21はそれを修正したようです。期待どおりに動作するようになりました。

1

あなたはプロバイダにFooServiceを挿入します:[]?

exemple:1.0.0-角度-CLIから

import {FooService} from 'youPath/fooService'; 

@NgModule({ 
    imports: [ .... ], 
    declarations: [ .... ], 
    providers:[ FooService ] 
}) 
+0

私はそれらも持っていますが、私はちょうどそれらをコードスニペットに含めませんでした。 – MaxPower

関連する問題