簡體   English   中英

使用 Angular 中的 Renderer2 渲染 SVG

[英]Rendering SVGs using Renderer2 in Angular

如何使用 Angular 中的 Renderer2 渲染SVG (我已本地存儲在我的項目中)?

我嘗試這樣做:

const div = this.renderer.createElement('div');
const svg = this.renderer.createText('<svg>{....}</svg>');
this.renderer.appendChild(div, svg);

但它實際上將渲染器作為文本。

有人可以幫忙嗎?

createText方法用於創建文本節點,此時可以直接設置innerHTML。

const div = this.renderer.createElement('div');
div.innerHTML = svgStr;

請記住,您可以使用簡單變量和路徑中的[attr.d]="variable創建具有選定路徑的 svg,例如

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" 
      fill="currentColor" viewBox="0 0 16 16">
  <path [attr.d]="path"/>
</svg>

和 in.ts:

path="M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM