加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2 初识管道

发布时间:2020-12-17 08:34:40 所属栏目:安全 来源:网络整理
导读:最近在做的一个模块是关于教师判分的业务,在这个页面需要回显学生的答案,如果不对数据进行处理,那么回显回来的文本就会带有很多html标签,如何更加友好的展现文本?就用到了管道的知识 管道是什么? Angular管道,就像是一个转换器,将不友好的文本显示变

最近在做的一个模块是关于教师判分的业务,在这个页面需要回显学生的答案,如果不对数据进行处理,那么回显回来的文本就会带有很多html标签,如何更加友好的展现文本?就用到了管道的知识

管道是什么?

Angular管道,就像是一个转换器,将不友好的文本显示变得更加生活化,更加简洁。

用法?

html中
在插值表达式中,使用“|”隔开,注意这个符号两边都有一个空格,前边的birthday是我们要显示的值,后边的date就是一个管道,感觉这个表达式也非常的直观,好像是数据真的要进入一个管道似的。date是一个内置的管道,例如这样的管道还有很多,具体可以参看API文档

<p>The hero's birthday is {{ birthday | date }}</p>

我们还可以对管道有更详细的参数设置

<p>The hero's birthday is {{ birthday | date:"MM/dd/yy" }} </p>

还可以将管道连在一起使用:

The chained hero's birthday is {{ birthday | date | uppercase}}

灵活的angular同时还支持自定义管道,而在我们项目中也是一种自定义管道的应用,下边就是项目中的实战:

一、建立管道(keep-html.pipe.ts)

import { Pipe,PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';

@Pipe({ name: 'safeHTML'})
export class SafeHtmlPipe implements PipeTransform {
  constructor(private sanitizer: DomSanitizer) {
  }
  transform(content) {
    return this.sanitizer.bypassSecurityTrustHtml(content);
  }
}

1. 管道是一个带有“管道元数据(pipe metadata)”装饰器的类。
这个管道类实现了PipeTransform接口的transform方法,该方法接受一个输入值和一些可选参数,并返回转换后的值。
2. 当每个输入值被传给transform方法时,还会带上另一个参数,比如我们这个管道中的exponent(放大指数)。
3. 我们通过@Pipe装饰器告诉Angular:这是一个管道。该装饰器是从Angular的core库中引入的。
4. 这个@Pipe装饰器允许我们定义管道的名字,这个名字会被用在模板表达式中。它必须是一个有效的JavaScript标识符。 比如,我们这个管道的名字是safeHTML。

二、在module中引入管道

import { SafeHtmlPipe } from './teacher-judge/keep-html.pipe';

declarations: [SafeHtmlPipe]

三、在html中引入

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读