2016-05-30 2 views
1

Я пытаюсь внедрить услугу компоненты, и я получаю следующее сообщениеинъекционной службы возвращает исключение

EXCEPTION: TypeError: Cannot read property 'getDemoString' of undefined

Как я понимаю, что услуга не вводится.

Компонент

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(); 
} 
} 

Сервис

import {Injectable} from 'angular2/core' 

@Injectable() 
export class DemoService { 

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

Какой версию углового 2 вы используете? Поскольку RC отсутствует, было бы разумно работать с этим (но, очевидно, ваш импорт предает, что вы этого не делаете). – hY8vVpf3tyR57Xib

+0

Это странно. У меня есть сервис с почти тем же кодом, что и вы, и он отлично работает. Попробуйте импортировать класс 'Inject' из' angular2/core' в службу и проверить, работает ли он. – guicl

+0

Eveyrthing выглядит хорошо для меня. Убедитесь, что путь импорта службы верен. пожалуйста, укажите свою угловую версию. – micronyks

ответ

0

Я успешно впрыскивается мою службу к компоненту. Я обновил угловую версию до RC, и она работает. У меня были некоторые проблемы, чтобы обновить его с НПМ, так как НПМ и узловые версии, я обновить их тоже, и она работает. благодаря @Alfons Ingomar.

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