Html 如何使用angular 6中的管道返回多个参数

Html 如何使用angular 6中的管道返回多个参数,html,angular,angular6,Html,Angular,Angular6,我最近开始使用angular,我正在致力于实现管道。我已经在angular中实现了自己的自定义管道。但这里的问题是,我不仅希望返回“RtgSlName”参数,而且希望过滤一系列参数 我的控制台如下所示: 我是否可以从管道中的值中返回所有参数,如“C1100SlName、C1100SmeName、RtgSlName、RtgSmeName”(请注意:有关详细信息,请查看控制台日志图像) 我的component.ts如下所示: if(val.RtgSlName.indexOf(value) >

我最近开始使用angular,我正在致力于实现管道。我已经在angular中实现了自己的自定义管道。但这里的问题是,我不仅希望返回“RtgSlName”参数,而且希望过滤一系列参数

我的控制台如下所示:

我是否可以从管道中的值中返回所有参数,如“C1100SlName、C1100SmeName、RtgSlName、RtgSmeName”(请注意:有关详细信息,请查看控制台日志图像)

我的component.ts如下所示:

if(val.RtgSlName.indexOf(value) >= 0){
      return val;
 }
从'/../../../../services/campaign.service'导入{CampaignService};
从'@angular/core'导入{Component,OnInit,Input};
@组成部分({
选择器:“主页”,
templateUrl:“./home.component.html”,
样式URL:['./home.component.css']
})
导出类HomeComponent实现OnInit{
构造函数(私有活动服务:活动服务){}
时间
活动;
过滤器;
show:boolean=false;
selectedOwner:字符串;
恩戈尼尼特(){
setInterval(()=>{
this.Time=Date.now()
}, 1000);
this.campaignService.CampaignsInfo()
.订阅(响应=>{
this.show=false;
这就是运动=反应;
});
}
filterByOwnr(val){
如果(val!=null)
{
this.show=true;
this.selectedOwner=val;
}
其他的
{
this.show=false;
}
this.filter=val;
}

}
您的实现过于复杂。这应该很简单,因为-

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'filter'
})
export class FilterPipe implements PipeTransform {

  transform(values: any[], key: string, property:any, value: string): any[] {

    if (!value) {
      return values;
    }

    return values.filter(val => val[property] === value);
  }
}

只需将
属性
值设置为
C1100SlName或C1100SmeName或RtgSlName、RtgSmeName

注意:此处未使用
。我不确定,但你可能为了别的目的而保留它


我认为您可能使用了错误的includes()方法。该方法的定义为:

includes()方法确定数组是否包含指定的 元素

如果数组包含元素,则此方法返回true,而返回false 如果没有

您正在尝试使用用于检查数组的方法检查字符串是否包含值。 为什么不尝试检查该值是否为RtgSlName的子字符串,如下所示:

if(val.RtgSlName.indexOf(value) >= 0){
      return val;
 }

我不太明白你的意思,你想返回一个字符串吗?多个返回只能由一个数组/对象支持,etc@xyz先生,你能看看我的控制台日志吗?如果你仍然不明白,我可以解释。我知道,你返回的当前有一个对象数组。数组长度为60,您希望得到什么响应?数组中第一个对象的键?我相信数组中的所有对象都将具有相同的键共享您的
filterByOwnr
函数。先生,我不仅需要RtgSlName,还需要所有参数,如“C1100SlName、C1100SmeName、RtgSlName、RtgSlName”,它将返回整个对象的数组,其中将包含所有属性
C1100SlName、C1100SmeName、RtgSlName、,RtgSmeName
先生,您能更具体一点吗?或者你可以相应地编辑你的答案,以便我能更好地理解。非常感谢您的帮助。使用附加属性更新了答案,现在您可以传递任何属性,如
C1100SlName、C1100SmeName、RtgSlName、RtgSmeName
我已相应地修改了解决方案以满足我的要求。非常感谢。