これは重複しているとお詫び申し上げますが、私は正しい質問をしているかどうかわからないので、回答を得るのが難しいと思っている。ngForディレクティブ内のコンポーネントのIDにアクセスする方法は?
ngForの一部として少しのsvgバー(複数回)を描きたいと思います。
のは、私が持っている、としましょう
...list.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-list',
template: `
<div *ngFor="let item of items">
<app-svgbar [value]="someNumber"></app-svgbar>
</div>`
})
export class ListComponent {
items: number[] = [0,1,2,3,4,5,6,7,8,9]
}
svgbar.component.ts
import { Component, OnInit, Input } from '@angular/core';
import * as SVG from 'svg.js';
@Component({
selector: 'app-svgbar',
template: `<div id="barID"></div>`
})
export class SvgSingleBarComponent implements OnInit {
@Input() value: number;
ngOnInit() {
this.drawSvg(this.value)
}
drawSvg(value) {
let draw = SVG('barID').size(10, 10) // This is my problem
draw.rect(value, 10)
.fill('#000')
}
}
これを実行すると、それが作成されますid="barID"
私はこのようなことについて正しい方法を知りません。どんな助けでも大歓迎です。
Sooo ..何が問題なのですか?これにより、すべて同じIDのIDを持つSVGが作成されます(正しいとは思われません) – PierreDuc
ここで問題が発生しますか?draw.rect(value、10)関数はそれぞれ10個の要素すべてに同じ値を割り当てていますか? –
「
」という10個のインスタンスが作成されますが、10個すべてのSVGが最初に描画されます。 一意のIDを生成する方法や、使用できるカプセル化があるかどうかは疑問でした。 –