我需要知道调用我的管道的组件。
我不想将组件作为管道的参数,例如这个
operator[]
。
我想要这个{{ "textArg" | myTranslatorPipe:thisTemplate }}
并仍然可以访问该组件。
{{ "textArg" | myTranslatorPipe }}
我将如何做到这一点? 提前谢谢!
答案 0 :(得分:0)
我发现这样做的唯一方法是将组件作为参数直接传递给管道。
transform方法在args
内接收无限数量的参数,它将通过以下代码来解决问题:
export class myTranslatorPipe implements PipeTransform {
transform(value: string, componentRef: any): string {
//component is stored inside the 'componentRef'
if (typeof componentRef === 'undefined' || componentRef === null) {
throw Error('Missing "componentRef" parameter, correct implementation is "myTranslatorPipe: this".');
}
// here you can use your component reference
}
}
唯一的是,您将必须{{ "textArg" | myTranslatorPipe: this}}
而不是{{ "textArg" | myTranslatorPipe }}
来实现管道。
验证不是强制性的:typeof componentRef === 'undefined' || componentRef === null