【问题标题】:angular2 returning object objectangular2 返回对象对象
【发布时间】:2018-07-11 16:07:53
【问题描述】:

我正在尝试显示数组中的特定用户名。我有一个包含用户名、用户 ID 和其他内容的用户类。我想打电话给<p>{{users$ | async).username</p>,但是当我这样做时,我什么也得不到。如果我只打电话给<p>{{users$}}</p> I get [object object]

component.ts 我打电话给private users$: Observable<Users[]>;this.users$ = this._UserService.get();

 getUsers(): Observable<Users[]> {
    return this._store.select(state => state.Users.users);
  }

我做错了什么??

【问题讨论】:

  • {{users$|async)[0].username 或使用 {{users$|async)?.[0].username

标签: angular angular2-routing angular2-forms angular2-services


【解决方案1】:

这是需要做的事情。

在您的组件上:

 this._UserService.getUser().subscribe(
          data => {
          console.log("User:", data);
            return this.user$ = data;
          },
          error => {
            console.log("Problem!!!", error);

          }
);

在你看来:

{{user$.username}}

【讨论】:

    【解决方案2】:

    如果要显示特定的用户名,则必须先从用户中选择用户。

    users$ | async 会给你一个数组。

    如果您知道要显示的用户的索引,请使用它:

    (users$ | async)[index].username
    

    {{users$}} 会得到你[object object],因为它是Observable

    【讨论】:

    • 是的,我有多个用户,但我想在点击用户时显示特定的用户名
    • 在哪里点击用户?你的模板是什么样子的?请更新您的问题。
    【解决方案3】:
    return this._store.select(state => state.Users.users);
    

    要么你犯了语法错误,要么有多个用户。

    试试

    {{ users$ | async)[0]?.username }}
    

    使用 Elvis operator 避免出错

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      相关资源
      最近更新 更多