您现在的位置是:群英 > 开发技术 > web开发
Angular中的管道怎么使用,有哪些类型
Admin发表于 2022-05-13 17:49:161195 次浏览
关于“Angular中的管道怎么使用,有哪些类型”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“Angular中的管道怎么使用,有哪些类型”吧。


什么是管道(PIPE)

PIPE,翻译为管道。Angular 管道是编写可以在HTML组件中声明的显示值转换的方法。Angular 管道之前在 AngularJS 中被称为过滤器,从 Angular 2开始就被称为管道。管道将数据作为输入并将其转换为所需的输出。

简单来说,就是 Angular Pipes 可以帮我们把我们的输入,包括字符串,整数和日期等等,按照我们的需要转化为特定的格式并且在浏览器中显示。通过插值表达式,我们可以定义管道并且在特定的情况下使用它,在 Angular 中提供给了我们许多种不同类型的管道,当然,你甚至还可以去自定义管道。

举一个比较简单的例子,日期的格式是多种多样的,你可以通过管道,进行各种格式之间的转化,比如把秒数转化为时分秒。

内置管道

上面提到了,Angular 中提供给了我们许多种不同类型的管道,这些都是属于 Angular 的内置管道,至于内置管道都有什么,要怎么用,下面通过代码来演示一下。

时间管道 date

我们新建一个 Angular 项目,并且在页面中添加一个 new Date()

<div>{{data}}</div>
...
export class AppComponent {
  title = 'my-app';
  data = new Date()
}

页面就会显示当前的时间:

那么我们接下去就可以使用内置的管道来进行一个时间格式的转化,管道的语法需要在变量后面添加 | 符号,并且声明管道

<div>{{data | date:'yyyy-MM-dd'}}</div>

这里我们用到了 date 这个管道,关于管道具体的参数详情可以看一下官方文档,里面介绍了它所提供的所有给你转化的时间格式。

Angular - DatePipe

https://angular.cn/api/common/DatePipe#description

在我们设置好管道之后,浏览器中的时间已经发生了变化了

其他管道

Angular还提供了其他管道,比如说改变人名币格式的管道(currency):

Angular - CurrencyPipe

https://angular.cn/api/common/CurrencyPipe

还有将字符串转化为大写的管道(uppercase):

<div>{{'ASDasd' | uppercase }}</div>

Angular - UpperCasePipe

https://angular.cn/api/common/UpperCasePipe

自定义管道

在上面我们介绍了几种内置管道,那万一要是内置管道都不能满足我们开发的需求,那么 Angular 还给我们提供了自定义管道,你可以自己去定一个管道,定义要去如何转化输入。

我们可以通过 Angular 提供给我们的命令行去快捷生成一个管道:

ng g p pipes/pipe-name

这里我创建了一个名为 test 的管道

在你运行上面的指令之后,就会在 src 下为你创建一个 pipes 的文件夹,里面保存着你的自定义管道

然后再 app 中 Angular 会自动帮你引入这些管道,这样你就能够在全局每个地方使用自定义的管道。

接着看到在 pipes 文件夹下的管道,管道本质上就是个类,这里使用装饰器来为它取了个 tests 的名字。

在这个类里面我们需要去实现 PipeTransfrom 这个接口,也就是需要有 transform 这个方法,在这个方法中,第一个参数就是要放入管道的输入,第二个数据是我们向管道传递的参数,管道中把它放入了一个数组里面。

这个 transform 方法返回什么,我们的页面拿到的就是什么数据,我们先来做一个测试

  transform(value: unknown, ...args: unknown[]): unknown {
    return 'tests';
  }
  ...
  <div>{{'ASDasd' | tests }}</div>

返回一个固定的字符串,并且在页面中去使用它

可以看到返回的结果变成了 tests 字符串,这样我们就可以确定这个方法的返回值就是最终的输出。

接下来我们实现一个简单的字符串超出截取的管道:

  transform(value: string, ...args: number[]): string {
    let defaultLength = 10;
    if((args[0] || defaultLength )< value.length){
      return value.substr(0,args[0] || defaultLength)+'...'
    }else{
      return value
    }
  }
  ...
  <div>{{'sssssssssssssssssssssssssssssss' | tests: 30 }}</div>

这样就能够对字符串进行一个截取并且在尾部添加 ...

总结

本文我们学习了 Angular 中管道的使用,简单的来说管道就是一个方法,可以将你的输入转化为特定的你需要的输出格式,Angular提供给了我们许多的内置管道,当内置管道不满足你的要求的时候,你还可以通过自定义管道来更加灵活的自定义输出格式


感谢各位的阅读,以上就是“Angular中的管道怎么使用,有哪些类型”的内容了,通过以上内容的阐述,相信大家对Angular中的管道怎么使用,有哪些类型已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: angular 管道
相关信息推荐
2022-10-09 18:13:22 
摘要:PPT中可插入公式,用于放映时演示相关内容的论证、推算的依据。通过代码,我们可借助特定的工具来实现在PPT中的插入公式,本文将对此作详细介绍
2022-09-13 17:48:03 
摘要:Javascript的函数类型:1、构造函数,使用new关键字定义调用的函数,默认返回时一个新对象;2、匿名函数,没有实际名字的函数,不会造成全局变量的污染;3、闭包函数,具有访问另一个函数作用域中变量权限的函数;4、动态函数,参数列表和函数体是通过字符串动态指定的函数。
2022-08-01 17:11:31 
摘要:这篇文章向大家介绍了如何使用bootstrap table插件实现表格的行内编辑功能。如果大家有需要或者有兴趣的可以学习一下。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部