Angular 4中如何显示内容的CSS样式示例代码


Posted in Javascript onNovember 06, 2017

前言

在开始本文的正文之前,我们先来看一下angular2中将带标签的文本输出在页面上的相关内容,为了系统性的防范XSS问题,Angular默认把所有值都当做不可信任的。 当值从模板中以属性(Property)、DOM元素属性(Attribte)、CSS类绑定或插值表达式等途径插入到DOM中的时候, Angular将对这些值进行无害化处理(Sanitize),对不可信的值进行编码。

h3>Binding innerHTML</h3>

<p>Bound value:</p>

<p
class="e2e-inner-html-interpolated">{{htmlSnippet}}</p>

<p>Result of binding to innerHTML:</p>

<p
class="e2e-inner-html-bound" [innerHTML]="htmlSnippet"></p>
[innerHTML]="htmlSnippet"

这个属性可以识别 HTML标签 但不识别标签中的属性值

发现问题

大家都知道Angular 中有 innerHTML 属性来设置要显示的内容,但是如果内容包含 CSS 样式,无法显示样式的效果。

比如:

public content: string = "<div style='font-size:30px'>Hello Angular</div>";

<p [innerHTML]="content"></p>

只会显示 Hello World ,字体不会是 30px,也就是 CSS 样式没有效果。

解决方案

自定义一个 Pipe 来对内容做转换。看下面代码。

写一个 HtmlPipe 类

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

@Pipe({
 name: "html"
})

export class HtmlPipe implements PipeTransform{

 constructor (private sanitizer: DomSanitizer) {

 }

 transform(style) {
 return this.sanitizer.bypassSecurityTrustHtml(style);
 }
}

在需要的模块里面引入管道 HtmlPipe

@NgModule({
 declarations: [
 HtmlPipe
 ]
})

在 innerHtml 中增加管道名字

<p [innerHTML]="content | html"></p>

这样就可以显示 content 的 CSS 样式。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
firebug的一个有趣现象介绍
Nov 30 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
Aug 07 Javascript
js获取select标签选中值的两种方式
Jan 09 Javascript
jQuery实现跨域iframe接口方法调用
Mar 14 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 Javascript
javascript少儿编程关于返回值的函数内容
May 27 Javascript
基于JavaScript实现瀑布流布局
Aug 15 Javascript
Koa日志中间件封装开发详解
Mar 09 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 Javascript
详解基于vue-cli优化的webpack配置
Nov 06 #Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
Nov 06 #Javascript
js中apply与call简单用法详解
Nov 06 #Javascript
js实现简单数字变动效果
Nov 06 #Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 #Javascript
原生js封装添加class,删除class的实例
Nov 06 #Javascript
Node.js实现发送邮件功能
Nov 06 #Javascript
You might like
如何对PHP程序中的常见漏洞进行攻击
2006/10/09 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
简述vue中的config配置
2018/01/23 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
Python守护进程用法实例分析
2015/06/04 Python
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
在线服装零售商:SheIn
2016/07/22 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
学校门卫岗位职责
2014/03/16 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
大气污染防治方案
2014/05/19 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
《叶问2》观后感
2015/06/15 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
Android 中的类文件和类加载器详情
2022/06/05 Java/Android