Можно ли вызвать трубку Angular2 из трубы?
Я возвращаю с сервера объект, содержащий массив столбцов с их определениями и массив строк. Я хотел бы перебирать столбцы и строки, когда я строю свою HTML-таблицу и форматирую ячейки в соответствии с типом столбца, возвращаемого с использованием канала "format".
Например
WS Response:
{
"columns" [{"precision":10,"name":"PAGES","typeName":"INTEGER","scale":0...,
"rows":[{"PAGES":6531....}, [{"PAGES":6531....}]
}
HTML фрагмент:
<tr *ngFor="let row of invoices?.rows">
<td *ngFor="let column of invoices?.columns>
{{row[column.name] | format : column}}
</td>
</tr>
Есть ли какой-нибудь способ, которым мой "форматный" канал может просто выполнять роль делегатора для правильного встроенного канала (где он выходит), в зависимости от типа столбца? Я не хочу повторно реализовывать DecimalPipe, DatePipe и т. Д. И т. Д.
1 ответ
Решение
Да, вы можете называть трубы - просто навязать их и позвонить transform
:
transform(cell: any, column: any): any {
if (column.typeName === "INTEGER") {
let pipe = new DecimalPipe();
return pipe.transform(cell, "1.0-0");
}
// more here ...
}