当前位置:  开发笔记 > 编程语言 > 正文

将数据从角度2中的组件传递到自定义管道

如何解决《将数据从角度2中的组件传递到自定义管道》经验,为你挑选了1个好方法。

如何将数据从组件传递到自定义管道?
我试图将表单数据绑定到组件并传递给管道.

想要从组件传递'this.phone'到'PhoneNum'管道.

这是在模板中完成的.
{{phoneNumber | PhoneNum}} // PhoneNum is the pipe

我的问题是在AngularJS中以这种方式从控制器完成的


$filter(‘PhoneNum’)($scope.phone); // something like this.
欣赏时间!



1> pixelbits..:

由于管道只是实现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, []);
   }
};

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有