加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

异步 – 角度2 – 从承诺显示异步对象数据

发布时间:2020-12-17 09:27:34 所属栏目:安全 来源:网络整理
导读:编辑:看起来我现在的主要问题是我似乎无法从对象中显示异步数据.我有一个包含数据对象的承诺,当我使用 {{ data | async }} 它会显示 [object Object] 问题是,我想要能够显示所有不同的属性;即名称,符号等.在角度1,我只是使用 {{ data.Name | async }} 但是
编辑:看起来我现在的主要问题是我似乎无法从对象中显示异步数据.我有一个包含数据对象的承诺,当我使用
{{ data | async }}

它会显示

[object Object]

问题是,我想要能够显示所有不同的属性;即名称,符号等.在角度1,我只是使用

{{ data.Name | async }}

但是在这里不起作用,因为异步管道尝试解析data.Name promise,它不存在.我想解决数据承诺,然后从中显示Name键.目前,我正在创建自己的管道来显示一个异步对象的密钥,但我想知道是否有一个内置的角度2管道或函数来处理这个!

我创建了一个StockService类,它返回一个包含对象的Promise到我的StockInfo类,它包含要显示的HTML.我想在我的HTML中显示这个对象的名称,但我似乎无法让它显示.

在我的StockInfo构造函数中:

this.stock.getStockData(this.ticker,http).then(function(val) {
  this.data = val;

  this.name = new Promise<string>(function(resolve) {
    resolve(this.data.Name);
  });
});

其中this.stock是StockService对象.

在我的HTML中:

<h2>{{name | async}}</h2>

我已经尝试了一些不同的安排,然后再定下来.我想让StockService类处理数据获取和StockInfo类来处理显示.在Angular 1中,我将创建一个用于获取数据并处理控制器中的数据处理的工厂,但我不太清楚如何在Angular 2中进行处理.

有没有办法让它显示,还是有更好的方法设计我应该研究的代码?谢谢!

你不需要任何特殊的管道.角度2支持可选字段.你只需要添加?在你的对象
{{ (data | async)?.name }}

要么

{{(name | async)?}}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读