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

前端之家收集整理的这篇文章主要介绍了异步 – 角度2 – 从承诺显示异步对象数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
编辑:看起来我现在的主要问题是我似乎无法从对象中显示异步数据.我有一个包含数据对象的承诺,当我使用
{{ 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)?}}
原文链接:https://www.f2er.com/angularjs/140633.html

猜你在找的Angularjs相关文章