【发布时间】:2016-11-05 16:10:18
【问题描述】:
我有一个组件订阅了包含购物车项目的 CartService。我想做的是使用管道根据内容计算购物车总数并显示值。
如何迭代我的可观察数据以计算/返回总数?现在当我注销进入管道的值时,它只是返回可观察数据而不是数据。什么给了?
//calculateTotal.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import * as _ from "lodash";
@Pipe({name: 'calculateTotal'})
export class CalculateTotal implements PipeTransform {
transform(items: string): any {
_.each(items, function(item){
console.log(item);
})
return items;
}
}
// nav-cart.component.pug
{{items | calculateTotal}}
//nav-cart.component.ts
import { Component } from '@angular/core';
import { StoreItem } from '../../store.item.interface'
import { CartService } from '../../services/cart.service'
@Component({
selector: 'nav-cart-component',
styleUrls:['nav-cart.component.css'],
templateUrl: 'nav-cart.component.pug',
encapsulation: ViewEncapsulation.Native // Use the native Shadow DOM to encapsulate our CSS
})
export class NavCartComponent {
cartItems:StoreItem[] = [];
items: StoreItem[] ;
constructor(private cartService: CartService) {
cartService.cartList$.subscribe(
res => {
this.items = res;
})
}
}
【问题讨论】:
-
用
async管道链接它:{{ items | async | calculateTotal }}。