<tr *ngFor="let logDetails of logDetails | search : term" >
我有一个管道,我想在其中使用变量。我的Component中定义了相同的变量。如何将此值从Component传递给Pipe?
//Pipe Structure
transform(value, [term], newVal) {
if (value == undefined && newVal == undefined) {
return undefined;
} else {
return value.filter((item) => item.LogString.startsWith(term));
}
}
//Component Structure
newVal(a) {
this.newChildData = a;
console.log(this.newChildData);
}
我想将Component的newChildData
传递给Pipe的newVal
。
// HTML模板
答案 0 :(得分:0)
要么在模板中使用管道并将新值传递给它。
<div>{{ yourValue | yourPipe: newChildData }}<div>
或者,由于Pipe只是一个Javascript类,您可以将其导入组件并使用它。
const pipe = new youPipe();
const result = pipe.transform(yourValue, newChildData);
但我不建议后者。
如果要以编程方式使用管道,请考虑将转换逻辑拆分为服务,然后在pipe
和component
中导入并使用该服务。