【发布时间】:2020-03-14 14:32:57
【问题描述】:
看到我们可以将模板文件保存为 .svg 而不是 .html 现在我想我可以制作 svg 组件,如下所示。
main.component.svg
<svg>
<my-svg-component></my-svg-component>
</svg>
mySvg.component.svg
<text x="0" y="60">test text</text>
我收到一条错误消息,提示 <text></text> 不是可识别的元素,因此我将其修改为此
<svg:text x="0" y="65">test text</svg:text>
错误消失了,但是没有渲染。我将脚本直接添加到main.component.svg文件中的<svg>标签中,开头没有svg:,效果很好。
我应该在 mySvg.component 模板中做些什么来使其作为可重用组件工作,还是我们必须在一个模板中生成所有 SVG?
更新
我尝试像这样使用 SVG 的 <foreignObject>
<svg>
<foreignObject>
<my-svg-component></my-svg-component>
</foreignObject>
<svg>
这也不起作用。我用段落标签对其进行了测试,发现我必须使用<xhtml:p> 才能渲染它。我尝试将xhmtl: 部分添加到我的组件中,以获取笑容和咯咯笑声,但仍然没有看到任何渲染。现在我想知道是否可以使用某种形式的angular:。
【问题讨论】:
标签: angular typescript svg