如何将数据从组件传递到自定义管道?
我试图将表单数据绑定到组件并传递给管道.
想要从组件传递'this.phone'到'PhoneNum'管道.
这是在模板中完成的.
{{phoneNumber | PhoneNum}} // PhoneNum is the pipe
我的问题是在AngularJS中以这种方式从控制器完成的
$filter(‘PhoneNum’)($scope.phone); // something like this.
欣赏时间!
由于管道只是实现PipeTransform
接口的类,因此可以通过providers属性将其注册到组件的注入器:
import { MyPipe } from './my.pipe.ts'; @Component({ ... providers:[MyPipe] })
然后,您可以通过DI将Pipe注入任何组件(或子组件)的构造函数,并通过调用transform方法使用它:
export class MyComponent { private filteredData:Data[]; constructor(private mypipe:MyPipe) { var data = [...]; this.filteredData = this.mypipe.transform(data, []); } };
或者,如果您不想通过DI注册它,您可以在需要时实例化管道:
export class MyComponent { private filteredData:Data[]; constructor() { var data = [...]; this.filteredData = new MyPipe().transform(data, []); } };