Angular 2组件之间的相同类实例

时间:2016-08-24 21:20:38

标签: angular typescript

所以,对于角度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时,我得到了一个新的类实例。我怎么能保持班上的数据?

1 个答案:

答案 0 :(得分:2)

首先,我建议使用'UserService'而不是User

您正在寻找Application-wide dependencies,需要提供更高级别,最好是AppComponentAppModule

简而言之,只要在providers数组中添加服务,您的应用程序就会在该组件和任何子组件中使用新实例。

因此,您正在获取该服务的新实例,当您在AppComponent而不是loginComponent中定义提供程序时,可以在那里注入相同的实例。

希望这会有所帮助!!