2016-08-23 3 views
0

아래로 스크롤하면 DOM 재 렌더링과 관련된 이상한 문제가 발생합니다. 페이지에 렌더링해야 할 OEmbed 데이터가 많이 있지만 스크롤하지 않은 채 모든 내용을 다시로드하지 않으면 렌더링 할 수 없습니다.DOM 스크롤 이벤트에 IFrame을 다시 첨부하십시오.

https://plnkr.co/edit/qklbNzvDSOzoI2t0K7fA?p=preview

지금이 바로 같은 것을 가지고 다시 렌더링을 방지하는 방법에 대한

<div class="content embed" *ngIf="item.template == 'embed'"> 
    <span [innerHTML]="trustHtml(item.embed.html)"></span> 
</div> 

어떤 아이디어?

답변

1

마치 내가 루프 내부에서 trustHtml을 실행하고 있었던 것처럼 보입니다. 저는 이것을 API 응답 레이어로 추상화했으며 현재는 매력적으로 작동합니다. 그래서 대신 :

<div class="content embed" *ngIf="item.template == 'embed'"> 
    <span [innerHTML]="trustHtml(item.embed.html)"></span> 
</div> 

내가 뭐하는 거지 : (결과는 관찰자를 통해 구성 요소에 전달하기 전에) 내 API 응답 층에서 다음

<div class="content embed" *ngIf="item.template == 'embed'"> 
    <span [innerHTML]="item.embed.html"></span> 
</div> 

과 내가 가진 :

item['html'] = this.sanitizer.bypassSecurityTrustHtml(item['html']); 
관련 문제