Angular 显示登录用户的用户名(2)

Angular 显示登录用户的用户名(2),angular,angular2-forms,Angular,Angular2 Forms,这似乎是一个非常简单的问题,但我对Angular2不熟悉,对组件之间的关系有点困惑。我有一个登录页面,当用户输入用户名时,我希望用户名显示在仪表板上,类似“欢迎,詹姆斯” 我有一个login.html页面,一个loginHTMLcomponent组件,它有一个templateurl到login.html页面及其父项login.ts。 我有dashboard.ts,它是dashboard.component.ts的父级(具有仪表板页面的HTML) 基本上,我是如何从login.html中的输入字段

这似乎是一个非常简单的问题,但我对Angular2不熟悉,对组件之间的关系有点困惑。我有一个登录页面,当用户输入用户名时,我希望用户名显示在仪表板上,类似“欢迎,詹姆斯”

我有一个
login.html
页面,一个
loginHTMLcomponent
组件,它有一个
templateurl
login.html
页面及其父项login.ts。 我有
dashboard.ts
,它是
dashboard.component.ts
的父级(具有仪表板页面的HTML)

基本上,我是如何从login.html中的输入字段中获取用户名以显示在dashboard.component.html中的……我可能已经详细解释了这一点。谢谢

我会尽量解释清楚一点 在my login.html中,我有如下内容:

input type = "text" [(ngModel="name")]
在我的dashboard.component.ts中,在选择器的内部,我会:

@Component({
    selector: 'dashboardHTML',
    template:
    `
    <body>
      ........
      ..........
      <span ="user">Welcome, {{user}}</span>
      ...
      `
在我的
login.HTMLComponent
(它有一个指向
login.component.html
的模板URL)中,我有
导出类LoginHTMLComponent{
公共名称:{};
/////

在我的
name.service.ts
中,我有这个

import { Injectable } from '@angular/core';
import {LoginHTMLComponent} from "./LoginComponents/login.HTMLcomponent";
@Injectable()
export class NameService {
    getName(){
        return name;
             }
}
我不确定我在这里叫的名字是否正确。
谢谢

在您的情况下,服务可能是一个不错的选择。将登录数据存储在服务中,并从需要数据的任何组件访问它。
使用
@Injectable()
装饰服务,然后将其注入组件。

在您的情况下,服务可能是一个不错的选择。将登录数据存储在服务中,并从需要数据的组件访问它。
使用
@Injectable()装饰服务
,然后将其注入组件。

不要试图将用户名从
登录组件
传递到
仪表板组件
,而应该通过公共
服务
获取用户名。用户名可能是用户登录的后端响应的一部分。该响应即lo在用户中,存储在服务中,该服务可以注入到您的每个组件中

服务通常是在不在父/子层次结构中的组件之间交换数据的好主意

关于你的服务

该服务不应引用
LoginHTMLComponent
或任何其他组件。将
NameService
插入
LoginComponent
(和
仪表板组件
)的构造函数中,如下所示

private constructor(private nameService:NameService) {...}

当然,导入
NameService

而不是试图将用户名从
登录组件
传递到
仪表板组件
,您应该通过公共
服务
获取用户名。用户名可能是来自用户登录的后端的响应的一部分。已登录的用户存储在服务中,该服务可注入到您的每个组件中

服务通常是在不在父/子层次结构中的组件之间交换数据的好主意

关于你的服务

该服务不应引用
LoginHTMLComponent
或任何其他组件。将
NameService
插入
LoginComponent
(和
仪表板组件
)的构造函数中,如下所示

private constructor(private nameService:NameService) {...}

当然,导入
NameService

不客气。如果这对你有帮助,别忘了投赞成票。我投了好票,但我没有足够的帖子显示出来,如果你有机会,你能看看我对我的帖子所做的编辑吗?谢谢,我明白了。在我的帖子中添加了一些行谢谢。效果很好。欢迎你。不要担心如果这对你有帮助,我会投票。我投了好票,但我没有足够的帖子来显示,如果你有机会,你能看看我对我的帖子所做的编辑吗?谢谢,我明白了。在我的帖子中添加了一些行谢谢。工作很有魅力。我投了好票,但我没有足够的帖子来显示,如果你有机会,你能看看我的帖子吗e编辑我的帖子?谢谢我投了好票,但我没有足够的帖子显示,如果你有机会,你能看看我对我帖子的编辑吗?谢谢