Изменить: похоже, моя главная проблема заключается в том, что я не могу отображать асинхронные данные из объекта. У меня есть обещание, содержащее объект данных, и когда я использую
{{ data | async }}
отобразится
[object Object]
Проблема заключается в том, что я хочу иметь возможность отображать все разные атрибуты; iee, Name, Symbol и т.д. В Angular 1 я просто использовал бы
{{ data.Name | async }}
но это не работает здесь, так как асинхронный канал пытается решить проблему с data.Name, которая не существует. Я хочу разрешить обещание данных, а затем отобразить из него имя. На данный момент я работаю над созданием своего собственного канала для отображения ключа от объекта async, но мне интересно, есть ли там встроенный Angular 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 я создал бы factory для извлечения данных и обработки данных в контроллере, но я не совсем уверен, как это сделать в Angular 2.
Есть ли способ заставить его отображать, или есть ли лучшие способы разработки моего кода, на который я должен смотреть? Спасибо!