Я пытаюсь создать угловую (1.5.5) директиву, где шаблон является элементом svg. Я прочитал это answer и несколько других, но я не могу получить свой простой элемент svg для показа. Я попытался максимально упростить его. Таким образом, эта простая директива должна рисовать круг при использовании внутри элемента svg, по крайней мере, этого я и пытаюсь достичь.Как создать AngularJs svg директива
app.directive("svg01",() => {
return {
templateNamespace: "svg",
template: `
<circle cx="50" cy="50" r="40" stroke="blue" stroke-width="4" fill="green" />
`
//template: `
// <svg width="100" height="100">
// <circle cx="50" cy="50" r="40" stroke="blue" stroke-width="4" fill="white" />
// </svg>
//`
}
});
Это не показывает круг с этим HTML
<div style="height: 100px; background-color: lightgreen">
<svg width="100" height="100">
<svg01></svg01>
</svg>
</div>
, если вместо того, чтобы изменить директиву включить элемент SVG, то он показывает (так как это теперь HTML элемент я предполагаю)
app.directive("svg01",() => {
return {
templateNamespace: "svg",
//template: `
// <circle cx="50" cy="50" r="40" stroke="blue" stroke-width="4" fill="green" />
//`
template: `
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="blue" stroke-width="4" fill="white" />
</svg>
`
}
});
<div style="height: 100px; background-color: lightgreen">
<svg01></svg01>
</div>
И не имеет значения, если я задал шаблонNamespace «html» или «svg». Он показывает в любом случае.
Это не представляется возможным определить шаблон ГСВ в директиве, а вместо этого мне нужно добавить его программно, как предложено в this answer
Что мне не хватает?
Благодаря