【发布时间】:2016-10-05 12:05:30
【问题描述】:
我拥有并希望在整个应用程序中使用的服务是
import {Injectable} from '@angular/core';
@Injectable()
export class UserDetailsService {
objUser: User = new User();
testing: string;
getData() {
return this.testing;
}
setData(my:string) {
debugger;
this.testing = my;
}
}
现在我想在我的一个组件中设置变量 testing
import { Component } from '@angular/core';
import {UserDetailsService} from 'servicePath';
@Component({
selector: 'some',
templateUrl: 'someUrl',
providers: [UserDetailsService]
})
export class LoginComponent {
constructor(private _Service: UserDetailsService)
}
onClick(){
_Service.set("my Value");
}
现在在另一个组件中,如果我想使用这个现场测试,我会得到未定义
import { Component } from '@angular/core';
import {UserDetailsService} from 'URL';
@Component({
selector: 'somee1',
templateUrl: 'url'
})
export class LandingComponent {
constructor(private _UserService: UserDetailsService) {
debugger;
var test = _UserService.getData();
debugger;
}
}
在我的应用模块中我有这个
@NgModule({
imports: ...,
declarations:...,
bootstrap: [AppComponent],
providers: [HttpService, UserDetailsService]}]
})
【问题讨论】:
-
我认为为了在多个组件中使用该服务,您需要一个共享模块。
标签: angular dependency-injection singleton angular2-services