Angular 2+管道和材料工具提示

时间:2018-02-20 13:20:06

标签: angular

我想得到一些建议。

我有一个模特

[{value:n,user:userId}],值可以是0,1,2等...

在第一个客户端收到一个数组,其中包含一个对象列表{value:0,user:A} {value:1,user:B} {value:0,user:C}。我无法获得像{value:0,用户[A,C]},值:1,用户:[B]}这样的东西:为了得到这样的东西:Icon(对应于这个值) - 计数(数量)具有此值的人) - 具有此值的用户列表的工具提示

所以我创建了一个管道来将数组转换为[{value = n,users = [list UserId]}]

问题是: - 管道被称为1000次而不是5次 - 工具提示(matTooltip,材料设计)不起作用。

是否存在另一种解决方案而不是使用管道而不更改我的模型,因为我喜欢它的灵活性方式?

1 个答案:

答案 0 :(得分:0)

可能会有所帮助:

  const finalObject = [{value: 0, user: 'A'} ,{value: 1, user: 'B'},{value: 1, user: 'C'}].reduce((ag, item)=>{

  ag[item.value] = ag[item.value]+1 || 1;    
  return ag;

},{});
// {0:1, 1:2}