【发布时间】:2019-05-31 03:19:39
【问题描述】:
我有一个 svg 作为对象加载:
<object data="assets/img/states.svg" type="image/svg+xml" id="map"></object>
这个 svg 包含一个大 png 地图和几个矩形和文本元素。
<rect
y="224.72084"
x="644.87109"
height="231.68137"
width="101.08391"
id="RECT_TO_GET" />
我想在一个数组中获取所有 rect 元素,就像我使用普通的 html 元素一样:
@ViewChildren('rect') rects !: QueryList<any>;
this.rects.forEach(r=> {
console.log(r);
});
问题是 rects 数组总是空的。我试图让它们进入ngViewAfterInit() 和ngAfterViewChecked(),但没有成功。如何访问 svg 的元素?
我还没有尝试通过getElementsById() 获得它们,如果可能的话,我想以有角度的方式进行。
整个事情就是在我得到每个矩形元素后为其提供上下文颜色。
【问题讨论】:
标签: angular typescript dom svg