【发布时间】:2016-08-04 06:44:59
【问题描述】:
我正在尝试使用 Angular (2+) 渲染一些 SVG 文本。
在调试器中,我在 svg 树中看到了文本节点,但文本在屏幕上不可见。
我创建了一个 plunkr 来演示这个问题: http://plnkr.co/edit/QCc39AiDzxSeQMGiDqQC?p=preview
应用程序:
import {Component} from 'angular2/core';
import {SvgTextComponent} from 'src/svgtext.component.ts';
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<svg style="border: solid 1px dimgray; width: 100%; height: 600px;">
<g svg-text></g>
</svg>
</div>
`,
directives: [SvgTextComponent]
})
export class App {
constructor() {
this.name = 'Angular2'
}
}
svgtext:
import {Component} from "angular2/core";
@Component({
selector: 'g[svg-text]',
template:'<text x="150" y="100">Hello world from Ng2!</text>',
})
export class SvgTextComponent { }
当我查看 DOM 树时,文本节点就在那里……只是没有显示。 如果我只是直接在 App 组件的模板中复制粘贴文本节点,那么文本会显示...
我该如何解决这个问题?
谢谢!
【问题讨论】: