javascript と jquery で問題なく変更できますが、ノックアウトバインディングxlink:href
で dom だけを変更しても機能しません。xlink:href
attr
これは私のsvg定義です
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none">
<defs>
<symbol id="icon-home" viewBox="0 0 32 32">
<path class="path1" d="M32 18.451l-16-12.42-16 12.42v-5.064l16-12.42 16 12.42zM28 18v12h-8v-8h-8v8h-8v-12l12-9z"></path>
</symbol>
</defs>
これを本体上部に挿入
icon
次に、ビューモデルのhtmlとプロパティでノックアウトを使用します
<svg class="svg-icon">
<use id="myuse" data-bind="attr: {'xlink:href': icon }"></use>
</svg>
次のレンダリングされた出力が得られるため、アイコンが正しく返されていると確信しています
<svg class="svg-icon">
<use data-bind="attr: {'xlink:href': icon }" xlink:href="#icon-home"></use>
</svg>
これは正しいですが、何も表示されません。ノックアウトでこれに対する実用的な解決策を持っている人はいますか?