Angularjs 注入服务返回异常

Angularjs 注入服务返回异常,angularjs,angular,angular2-services,Angularjs,Angular,Angular2 Services,我试图向组件注入服务,得到以下消息 异常:TypeError:无法读取未定义的属性“getDemoString” 据我所知,该服务没有被注入 组件 import {Component, OnInit} from 'angular2/core' import {DemoService} from './demo.service' @Component({ selector: 'gtbe-navbar', templateUrl: 'app/navbar.component.ht

我试图向组件注入服务,得到以下消息

异常:TypeError:无法读取未定义的属性“getDemoString”

据我所知,该服务没有被注入

组件

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";
 }
}

我成功地将我的服务注入组件。我将angular版本更新到RC,它可以正常工作。 我在用NPM更新它时遇到了一些问题,因为NPM和节点版本,我也更新了它们,并且可以正常工作。
感谢@Alfons Ingomar。

我成功地将我的服务注入到组件中。我将angular版本更新到RC,它可以正常工作。 我在用NPM更新它时遇到了一些问题,因为NPM和节点版本,我也更新了它们,并且可以正常工作。
感谢@Alfons Ingomar。

您使用的是Angular 2的哪个版本?因为RC已经退出,所以使用它是有意义的(但是很明显,你的导入暴露了你没有)。这很奇怪。我有一个与你几乎相同代码的服务,它工作得很好。请尝试从服务中的
angular2/core
导入
Inject
类,并检查它是否有效。我觉得一切都很好。确保服务导入路径正确。请提及您的Angular版本。@guicl我尝试使用Inject,但效果不佳,我的angular2版本是“^2.0.0-beta.17”,“systemjs:“^0.19.27”,“es6 promise:”^3.0.2”,“es6 shim:“^0.35.1”,“reflect metadata:“^0.1.2”,“rxjs:“5.0.0-beta.6”,“zone.js:”“^0.6.12正常工作-请参见此。我觉得你的安装有点问题。你用的是Angular 2的哪个版本?因为RC已经退出,所以使用它是有意义的(但是很明显,你的导入暴露了你没有)。这很奇怪。我有一个与你几乎相同代码的服务,它工作得很好。请尝试从服务中的
angular2/core
导入
Inject
类,并检查它是否有效。我觉得一切都很好。确保服务导入路径正确。请提及您的Angular版本。@guicl我尝试使用Inject,但效果不佳,我的angular2版本是“^2.0.0-beta.17”,“systemjs:“^0.19.27”,“es6 promise:”^3.0.2”,“es6 shim:“^0.35.1”,“reflect metadata:“^0.1.2”,“rxjs:“5.0.0-beta.6”,“zone.js:”“^0.6.12正常工作-请参见此。我觉得你的安装有点问题。