ng2自定义管道
一、管道的作用及本质
作用:数据处理
本质:公用的方法
二、定义管道组件
//summary.pipe.ts
import { Pipe, PipeTransform } from '@angular/core'; @Pipe({
name: 'summary',
// pure: false 管道默认为纯管道,如果加了pure:false 则为非纯管道
// 纯管道只能检测纯变更(原始类型(String Number Boolean Symbol)值的更改,或者对对象引用(Date Array Function Object)的更改)
})
export class SummaryPipe implements PipeTransform {
transform(value: number[], args: any[]): any{return value.reduce((prev,next)=>{prev + next}); //数组求和
}
}
三、module组件中引入管道
//app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { SummaryPipe} from './summary.pipe'; @NgModule({
imports: [
BrowserModule,
SummaryPipe //管道引入
],
declarations: [
AppComponent
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
四、组件中使用管道
// app.component.ts
import { Component } from '@angular/core'; @Component({
selector: 'my-app',
template: `
<div><span *ngFor="let i of list" >{{i}} </span></div>
<div>{{list | summary:value}}</div>
//模板中使用管道
<button (click)="addNum()">add 4</button>
`,
styleUrls:['./app.component.css']
})
export class AppComponent {
list: number[] = [1,2,3];
addNum() {
this.list.push(4);
}
}
五、页面效果
1.纯管道
点击按钮之后
2.非纯管道
点击按钮之后
从图中可以看出,使用非纯管道实现了累加,而使用纯管道不能实现累加
六、说明
模板中可以在管道后面加冒号:如:
<div>{{list | summary:value}}</div>
这里的value则为传给管道的参数(args)
ng2自定义管道的更多相关文章
- [转]Angular2 使用管道Pipe以及自定义管道格式数据
本文转自:https://www.pocketdigi.com/20170209/1563.html 管道(Pipe)可以根据开发者的意愿将数据格式化,还可以多个管道串联. 纯管道(Pure Pipe ...
- angular自定义管道
原文地址 https://www.jianshu.com/p/5140a91959ca 对自定义管道的认识 管道的定义中体现了几个关键点: 1.管道是一个带有“管道元数据(pipe metadata) ...
- Angular 自定义管道
管道的作用就是将原始值进行转化处理,转换为所需要的值: 1. 新建sex-reform.pipe.ts文件 ng g pipe sex-reform 2. 编辑sex-reform.pipe.ts文件 ...
- Ocelot自定义管道中间件
Ocelot是啥就不介绍了哈,网关大家都知道,如果大家看过源码会发现其核心就是由一个个的管道中间件组成的,当然这也是Net Core的亮点之一.一个请求到来,会按照中间件的注册顺序进行处理,今天的问题 ...
- angular8自定义管道、指令以及获取dom值
版本: 1.自定义管道: example: 定义一个*ngFor 可以获取key值的管道 keyObject.pipe.ts // key value 管道 import { Pipe, PipeTr ...
- Angular:管道和自定义管道
①管道的使用,更多管道在angular官网上有 <p>全部转为大写:{{'hahahah' | uppercase}}</p> <p>保留两位小数:{{1.4555 ...
- 【angular5项目积累总结】自定义管道 OrderBy
import { Injectable, Pipe } from '@angular/core'; @Pipe({ name: 'orderBy' }) @Injectable() export cl ...
- angular之自定义管道
1,装了angular2 的 cli之后,cmd中命令建立个管道文件 ng g p <name>; 如建一个在pipe文件中建一个add.pipe.ts文件 可以这么么写 ng g p p ...
- BizTalk动手实验(十一)自定义开发管道组件
1 课程简介 通过本课程熟悉自定义开始管道组件的流程.各组件接口的功能作用以及自定义管道. 本场景为开发一个消息ZIP压缩的发送管道组件. 2 准备工作 1. 熟悉管道组件各阶段组成 2. 下载Ion ...
随机推荐
- XMPP资源绑定(Resource Binding)
一个XMPP的账号由三部分组成: 用户名(user/node),域名(domain)和资源(resource) .例如 alice@xmpp.irusher.com/mobile ,user部分(或n ...
- 循序渐进学Python 1 安装与入门
1 安装 2 使用 2.1 运行程序 3 艺搜参考 by 2013年10月16日 安装 Windows安装版,源码,帮助文档: 使用 打开开始菜单中的Python GUI启动Python解释器: 启动 ...
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:bootstrap弹窗功能的实现
在web前端的网页设计中,为了展示出简洁的网页风格和美观的效果,往往就会使用弹窗效果 在EasyNVR前端页面录像检索功能时,必然会播放录像,如果单独为播放录像文件排一个界面,用户在使用上会更加繁琐, ...
- MySql索引建立规则
为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引.本小节将向读者介绍一些索引的设计原则. 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确 ...
- 4.Web工程师的开发工具箱
第四章 效率工具ShadowSocks window代理服务器FalconProxy chrome代理服务器stackoverflow.com Stack Overflow是一个与程序相关的IT技术问 ...
- 6 《锋利的jQuery》Ajax的应用(略。)
Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高web程序的性能(传输数据的方式,按需发送) 4.减轻服务器和带宽的负担 Ajax的不足 1.浏览器对XMLHttpRequest对象支 ...
- Android蓝牙通讯【转】
本文转载自:http://blog.csdn.net/vnanyesheshou/article/details/51554852 随着可穿戴设备的流行,研究蓝牙是必不可少的一门技术了. 总结了下蓝牙 ...
- 如何使用安信可 ESP 系列一体化开发环境【转】
本文转载自:http://wiki.ai-thinker.com/ai_ide_use 关于 Problems 报错 注意:Eclipse 只是一个代码编写工具,它并不能读取 makefile 里面的 ...
- nginx 部署thinkphp 做的东西, 配置 Pathinfo 模式,终于配好了
用thinkphp做了一个网站,部署到ubuntu上的时候需要,服务器用的是nginx,本身不支持pathinfo模式,需要修改配置文件,使其能够用pathinfo. 我用的是虚拟主机的方式.之前配置 ...
- 游戏引擎基于Handle的资源管理
基于Handle的资源管理方案,第一时间想到的应该是Windows了,但是真正想让我实施这个方案的,是<游戏编程精粹1>里面的游戏资源管理篇章的给出的方案.在<游戏编程精粹1> ...