位置: 编程技术 - 正文

Angular2的管道Pipe的使用方法(angular的排序管道)

编辑:rootadmin

推荐整理分享Angular2的管道Pipe的使用方法(angular的排序管道),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:angular 管道,angular 2,angular的排序管道,angular的排序管道,angular 管道,angular 管道,angular 管道,angular 管道,内容如对您有帮助,希望把文章链接给更多的朋友!

管道Pipe可以将数据作为输入,然后按照规则将其转换并输出。在Angular2中有许多内置的Pipe,比如DatePipe、UpperCasePipe和CurrencyPipe等。在这里我们主要介绍如何自定义Pipe。

1. 管道定义

Pipe的定义如下代码所示:

如代码所示,

需要使用@Pipe来装饰类 实现PipeTransform的transform方法,该方法接受一个输入值和一些可选参数 在@Pipe装饰器中指定管道的名字,这个名字就可以在模板中使用。

注意:当定义完成后,不要忘记在Module的declarations数组中包含这个管道。

2. 管道使用

user.template.html实现如下所示:

user.component.ts实现如下所示:

在user.component.ts中初始了数据users和定义一个添加user的方法,在user.template.html中使用自定义管道filterUser。

Angular2的管道Pipe的使用方法(angular的排序管道)

当启动应用时,可以发现只有id大于3的user被显示出来了。可是,当你点击按钮添加用户时,发现并没有什么反应,数据并没有改变。这是为什么呢?

3. 数据变更检测

在Angular2中管道分为两种:纯管道和非纯管道。默认情况下管道都是纯管道。

纯管道就是在Angular检测到它的输入值发生了纯变更时才会执行管道。纯变更也就是说原始数据类型(如String、Number和Boolean等)或者对象的引用发生变化。该管道会忽略对象内部的变化,在示例中,数组的引用没有发生改变,改变的只是数组内部的数据,所以当我们添加数据时并没有立即响应在页面上。

非纯管道会在组件的变更检测周期中执行,而且会对对象的内部数据进行检测。

在我们的示例中将管道变更为非纯管道是非常贱简单的,只要在管道元数据中将添加pure标志为false即可。

代码如下所示:

这样每当我们添加新用户时,数据就会马上响应在页面上了。

在根模块声明的pipe在页面中引用有效,而在页面中引用的component中的模板则无效,这也是令我困惑的地方...

寻求了一些解决方案,大多是要注意得在根模块中声明,于是我做了个尝试,将组件也写成一个功能模块,并在组件功能模块中申明pipe,结果很欣喜,组件中的pipe生效了。

具体操作方法:

只需新建组件功能模块,并在改模块中申明pipe,myComponent.module.ts

大功告成,组件的模板引用pipe得以生效.

标签: angular的排序管道

本文链接地址:https://www.jiuchutong.com/biancheng/375882.html 转载请保留说明!

上一篇:vue组件watch属性实例讲解(vue watch form)

下一篇:vue组件生命周期详解(vue组件生命周期执行顺序)

  • 企业代扣代缴个人所得税
  • 办公费专票怎么做账
  • 政府会计制度银行存款利息咋处理
  • 培训学校教具记在什么费用
  • 房地产企业预收款预缴增值税
  • 为职工提供免费午餐
  • 盈余公积属于什么类账户
  • 发票失控怎么处罚
  • 2016年营改增后18个税种,第一大税种是()
  • 总公司购固定资产分摊每家店面怎么来做账
  • 收到外币货款的汇率
  • 开具增值税专用发票的要求
  • 固定资产进项抵扣新政策2021
  • 承兑到期不兑付应起诉哪方?
  • 知识产权支出
  • 上月开的红字发票本月可以作废吗
  • 维修开票单位写什么
  • 季度不超过30万免税分录
  • 免征增值税的税额还要交个人所得税吗
  • 基建项目类型填什么
  • win7如何隐藏任务栏正在游戏的图标
  • 电脑管家游戏加速怎么卸载
  • win10永久激活2021
  • linux系统的
  • linux 运行php脚本
  • 其他应付款转营业外收入需要交增值税吗
  • 贷方发生额是什么意思是利息吗
  • hbuilderx怎么运行代码
  • 工程施工暂估成本的账务处理流程
  • 房产税计税的税率可分为
  • 天竺葵的养殖方法和繁殖方法
  • php timestamp
  • 企业和单位往来怎么做账
  • segment anything model模型 需要的配置
  • c罗my eyes never lie
  • 本地存储localstorage没有拿到最新值
  • 固定资产清理借方增加还是减少
  • 小规模季末税费处理
  • 抚恤金发放标准2019年
  • 出口结汇有哪些常用方法?
  • 对公付款对方不开发票可以吗
  • PostgreSQL 安装和简单使用第1/2页
  • 低值易耗品如何界定
  • 图书发行税率
  • 分红是怎么分的?
  • 假如出口收汇的钱怎么办
  • 亏损企业对外捐赠的税前扣除
  • 会员卡充值赠送金额怎么做账
  • 持有至到期投资是债权投资吗
  • 应付职工薪酬工作流程
  • 公司成立前的费用发票可以入账吗
  • 进口增值税与关税发票哪里打印?
  • 固定资产处置款怎么入账
  • 新成立的分公司怎么样
  • 新公司建账初始数据可以全部为零吗
  • 采用账龄分析法计提坏账准备
  • Mysql5.7.11在windows10上的安装与配置(解压版)
  • 经典sql查询语句50条
  • windows server 2003 r2 序列号
  • open dhcp server
  • vmware vnc连接
  • win10缺少文件如何修复
  • winxp任务栏消失
  • w10 xbox
  • Win10系统如何打开任务管理器
  • 您的服务器不支持此服务
  • linuxzen
  • require注解
  • javascript中的eval函数
  • style=display:inline
  • opengl怎么学
  • shell判断文件是否存在且大小不为0
  • 本地 node js 启动vue
  • 不用javascript可以吗
  • jQuery使用getJSON方法获取json数据完整示例
  • 获取python的运行结果
  • jquery获取多个元素
  • 江西省发票综合服务平台
  • 出口退税出现预缴怎么办
  • 福建省顺昌县人口有多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设