[英]Setting SVG preserveAspectRatio attribute dynamically
如果您有一個Angular組件通過引用一個打包文件中的符號來使用svg文件:
svg實例
<svg>
<use xlink:href="#my-symbol"></use>
</svg>
出現在導入文件中的符號
<symbol id="my-symbol" viewBox="0 0 24 24">
<title>my-symbol</title>
<path class="path1" d=" ... data here ..."></path>
</symbol>
為了獲得對縮放行為的控制,顯然每個符號元素都應相應地設置preserveAspectRatio="..."
。
如果我想這樣做動態,取值preserveAspectRatio
從組件實例HTML輸入?
就像是:
虛構的我圖標模板
<my-icon preserveAR="alignMeetOrSlice">
<svg preserveAspectRatio="{{preserveAR}}">
<use xlink:href="#my-symbol"></use>
</svg>
</my-icon>
所需的渲染:
<svg>
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://somedomain.com/my.svg#my-symbol"></use>
#shadow-root (user agent)
<svg id="my-symbol" viewBox="0 0 24 24"> <!-- attribute should go to this svg -->
...
</svg>
</svg>
我在容器上嘗試使用querySelector('symbol')
-但返回空結果。
是否有進入影子根目錄並修改symbol元素的方法?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.