Angularjs 注入服务返回异常
我试图向组件注入服务,得到以下消息 异常:TypeError:无法读取未定义的属性“getDemoString” 据我所知,该服务没有被注入 组件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
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正常工作-请参见此。我觉得你的安装有点问题。