相关疑难解决方法(0)

Angular 2 - 显示来自promise的异步对象数据

编辑:现在看起来我的主要问题是我似乎无法显示来自对象的异步数据.我有一个包含数据对象的promise,当我使用时

{{ data | async }}
Run Code Online (Sandbox Code Playgroud)

它会显示出来

[object Object]
Run Code Online (Sandbox Code Playgroud)

问题是,我希望能够显示所有不同的属性; 即名称,符号等.在Angular 1中,我会使用

{{ data.Name | async }}
Run Code Online (Sandbox Code Playgroud)

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


我创建了一个StockService类,它返回一个包含我的StockInfo类对象的Promise,其中包含要显示的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);
  });
});
Run Code Online (Sandbox Code Playgroud)

其中this.stock是StockService对象.

在我的HTML中:

<h2>{{name | async}}</h2>
Run Code Online (Sandbox Code Playgroud)

在解决这个问题之前,我已经尝试了许多不同的安排.我希望StockService类处理数据提取和StockInfo类来处理显示.在Angular 1中,我将创建一个工厂来获取数据并处理控制器中的数据处理,但我不太确定如何在Angular 2中进行此操作.

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

asynchronous angular

25
推荐指数
3
解决办法
2万
查看次数

Angular2 - *ngIf和async observables

将*ngIf与可观察变量一起使用时遇到问题.问题是,当我用*ngIf隐藏元素并再次显示它时,值将不会加载:

        <div *ngIf="showDiv">
             {{ someObservable$ | async }}
        </div>
Run Code Online (Sandbox Code Playgroud)

基本上,当showDiv 在第一个位置设置为true时,someObservable会加载,但是当我将其设置为false然后再次设置为true时,将不会加载值.怎么了?

问候

observable rxjs angular

3
推荐指数
1
解决办法
5222
查看次数

标签 统计

angular ×2

asynchronous ×1

observable ×1

rxjs ×1