位置: 编程技术 - 正文

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组件生命周期执行顺序)

  • 未认证的进项税能做转出处理吗
  • 营业外收入影响所有者权益吗
  • 一般纳税人开普票和专票有什么区别
  • 建筑施工企业增值税税率是多少
  • 财务报表分析五种方法
  • 开了票印花税必须报吗
  • 支付一年房租的会计科目
  • 红字发票信息表需要盖章吗
  • 事业单位缴纳税款比例
  • 分类账和明细账平行登记规则
  • 调整以前年度多计提的工资
  • 库存商品对外销售会计分录
  • 以银行存款退还投资者股金
  • 股东转账实收资本怎么填
  • 使用人民币进行石油贸易结算
  • 非居民企业所得税源泉扣缴管理暂行办法
  • 装修公司在装修完后增加费用
  • 国外劳务费用是怎样产生的
  • 劳务税能不能抵扣
  • 卖桶装水税率
  • 税控系统服务质量调查报告
  • 已认证的发票对账怎么办
  • 2020国家生育津贴多少钱
  • abs应付债券
  • 税控盘逾期未抄报,交罚款需要带什么
  • 跟银行借款按月还款
  • 理财代持有法律效力吗
  • 金蝶k3迷你版年度结账
  • 怎么计提担保赔偿准备金?
  • 新版edge浏览器极速模式
  • macos升级报错
  • 税优识别码是纳税人识别号吗
  • 企业汇算清缴怎么退税
  • 电脑开机按f8出现please select
  • vue3自定义指令
  • 领用增值税专用发票需要旧发票兑换吗
  • 含税价怎么计算增值税
  • 专家顾问作用
  • 跨年度退货的账务处理
  • 销售退回的处理方法
  • “oracle”
  • css响应式布局插件
  • yii2框架和fastadmin建商城网站哪个好用
  • 出口报关需要增税吗
  • 发票没有填写开户行,可以报销吗
  • 发票跨月发现开错该怎么办?
  • 企业所得税第二十七条规定
  • 月入一万怎么样
  • 工商年审中实缴还是虚缴
  • 上级补助收入是指事业单位从主管部门和上级单位取得的
  • 息税前利润变动率的计算公式
  • 生产企业出口退税政策
  • 减免与抵免
  • 现金支付现金股利
  • 分包开给总包的票,能不能抵扣
  • mysql5.6无法启动
  • 商用计算机英文
  • 如何给电脑重装系统win7系统
  • mac如何查看隐藏的文件夹
  • mac不同账户如何共享文件
  • win7笔记本设置合上盖子不休眠
  • 怎么才能给电脑提速
  • win8如何打开任务管理器
  • win8笔记本无线连接没有了,怎么设置
  • win8.1无法安装vmware tools
  • win8更新80072efe
  • android secure
  • nodejs 插件开发
  • rapidjson使用
  • js 异步队列
  • suse linux 网络配置
  • 简述js json对象和字符串的转换方式
  • 解读JavaScript中 For, While与递归的用法
  • javascript数学函数
  • 安卓view事件分发
  • bootstrap steps
  • android 内部存储
  • 怎么查询小米手机位置
  • 怎么修改纳税人信息
  • 耗电异常优化是什么意思微信
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设