2016-05-30 11 views
1

を返します。注入サービス私はコンポーネントにサービスを注入しようとしていると私はサービスが注入されていないことを理解として、私は次のようなメッセージ</p> <blockquote> <p>EXCEPTION: TypeError: Cannot read property 'getDemoString' of undefined</p> </blockquote> <p>を得る例外

成分Iが正常にコンポーネントに私のサービスを注射し

import {Injectable} from 'angular2/core' 

@Injectable() 
export class DemoService { 

getDemoString() { 
    return "demo"; 
} 
} 
+0

どのバージョンのAngular 2を使用していますか? RCは外に出ているので、それを使って作業するのは理にかなっています(しかし、あなたの輸入は、あなたがしていないことを明らかに裏切ります)。 – hY8vVpf3tyR57Xib

+0

これは奇妙です。私はあなたとほぼ同じコードのサービスを持っており、うまくいきます。サービスの 'angular2/core'から' Inject'クラスをインポートし、動作しているかどうか確認してください。 – guicl

+0

Eveyrthingは私によく見えます。サービスのインポートパスが正しいことを確認してください。 Angularバージョンについて言及してください。 – micronyks

答えて

0

import {Component, OnInit} from 'angular2/core' 

import {DemoService} from './demo.service' 

@Component({ 
    selector: 'gtbe-navbar', 
    templateUrl: 'app/navbar.component.html', 
    providers: [DemoService] 
}) 
export class Navbar implements OnInit { 

name: string; 

constructor(private _service: DemoService) { } 

ngOnInit() { 
    this.name = this._service.getDemoString(); 
} 
} 

サービス。私はRCに角バージョンを更新し、それは動作します。 npmとノードのバージョンが更新されているので、NPMで更新するにはいくつかの問題がありました。 @ Alfons Ingomarに感謝します。

関連する問題

 関連する問題