【发布时间】:2021-10-16 18:15:56
【问题描述】:
我正在使用两个 SVG 组件,如 here 所述。现在我想在另一个组件中使用一个组件。但是当我这样做时,嵌套组件是不可见的。没有错误,使用调试器工具,我可以看到组件在 SVG 内呈现,但宽度和高度均为 0。
如何更改组件的尺寸?
我尝试做这样的事情:<app-text-svg width="200"></app-text-svg> 但它不起作用,因为它没有宽度属性。
我的完整代码:
text-svg.component.ts:
@Component({
selector: 'app-text-svg',
templateUrl: './text-svg.component.svg',
styleUrls: ['text-svg.component.scss']
})
export class TextSvgComponent implements OnInit {
@Input() text: string;
constructor() { }
ngOnInit(): void {}
}
text-svg.component.svg:
<svg width="320" height="160" viewBox="0 0 320 160" xmlns="http://www.w3.org/2000/svg">
<style>
.text { font: 26px sans-serif; }
</style>
<text x="160" y="80" dominant-baseline="middle" text-anchor="middle" class="text">{{text}}</text>
</svg>
main-svg.component.svg:
<svg width="800" height="600" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg">
<app-text-svg [text]="'test'"></text-svg>
</svg>
这是一个简化的例子。我知道如果这就是我的全部代码,这将没有多大意义:)
【问题讨论】: