所以,对于角度2我是相当新的,到目前为止一直很好。 我有的问题(可能是因为如此使用角度1)是我需要类用户是全局的并在不同的组件之间使用它。
在我的情况下,我得到了一个User
类,我将用户登录到一个组件中。
@Component({
selector: 'login',
templateUrl: 'app/login/login.html',
providers: [User]
})
export class loginComponent {
submitted = false;
username : string;
password : string;
constructor(public user : User){}
onSubmit(event) { //form event
event.preventDefault();
this.user.login(this.username,this.password, () =>{this.router.navigateByUrl('dashboard')}
因此登录用户的方法是设置用户的内部变量,如姓名,姓氏等。
在路由器中,我有一个不同的组件分配给路由仪表板。
所以当我导入User
时,我得到了一个新的类实例。我怎么能保持班上的数据?
答案 0 :(得分:2)
首先,我建议使用'UserService'而不是User
。
您正在寻找Application-wide dependencies,需要提供更高级别,最好是AppComponent
或AppModule
。
简而言之,只要在providers
数组中添加服务,您的应用程序就会在该组件和任何子组件中使用新实例。
因此,您正在获取该服务的新实例,当您在AppComponent
而不是loginComponent
中定义提供程序时,可以在那里注入相同的实例。
希望这会有所帮助!!