在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  HTML/ Angular4如何處理接口處獲取到的帶樣式的HTML

Angular4如何處理接口處獲取到的帶樣式的HTML

  1. 問(wèn)題描述:

我從京東萬(wàn)象的新聞數(shù)據(jù)接口里面獲取到一段帶有css樣式的HTML,通過(guò)Angular4的@ViewChild和 ElementRef轉(zhuǎn)義處理后,能夠在頁(yè)面正常顯示,但是現(xiàn)在全局(style.css)中加了一個(gè)font-size:0屬性后之后,就無(wú)論如何都無(wú)法顯示出來(lái)。調(diào)試時(shí),只要把這個(gè)屬性取消掉,就可以正常顯示。無(wú)法知道是什么原因,這個(gè)屬性必須要有,不能刪掉。我試過(guò)定義一個(gè)Pipe,專門對(duì)HTML的樣式做轉(zhuǎn)換,但是這個(gè)只能用于被加載在angular的template上的HTML,我這個(gè)是動(dòng)態(tài)獲取的,沒(méi)有在Template上,所以沒(méi)什么用。

  1. 難點(diǎn):

1、為什么動(dòng)態(tài)獲取到的內(nèi)容默認(rèn)使用font-size:0的全局屬性,局部定義甚至動(dòng)態(tài)加上css樣式都不成功?
2、怎樣將獲取到的HTML變成angular的Template?

回答
編輯回答
來(lái)守候

在你這個(gè)組件的元數(shù)據(jù)對(duì)象里面加上這個(gè)配置encapsulation: ViewEncapsulation.Native,阻止全局的樣式進(jìn)入你這個(gè)組件,應(yīng)該就能解決你的問(wèn)題了

2017年12月6日 03:57
編輯回答
乖乖噠

解決辦法一:參考Angular里面的抽象類 Renderer2,里面提供了操作DOM的方法。

clipboard.png
解決辦法二:在該組件下的.scss文件中加一個(gè)前綴為/deep/的元素選擇器,即可。
解決辦法三:定義一個(gè)管道類,專門處理帶樣式的HTML不能正常顯示的問(wèn)題。(此處不適合這種方式)

2018年9月4日 05:00