2017-03-22 16 views
2

私は角度2を使用しており、ドーナツチャートを作成しています。私は実装をsvgで行いました。 高さと幅がこれまでに直接渡されて:私が欲しいもの角度2 svg - パスの高さと幅を動的に

コンポーネントのHTML

<svg height="200px" width="200px"> blah_blah_blah_blah_ </svg> 

は、主成分からの入力としてこれらの値を渡すことです。

だから、私の問題は、それらを渡す方法をメインHTML

<donut-chart [Height]="200" [Width]="200"></donut-chart> 

Component.jsコード

@Input() Height: number = 100; 
@Input() Width: number = 100; 

です:だから、私はのようなコンポーネントを呼び出すHTMLにそれを言うことができますコンポーネントのhtmlに入力します。

<svg height="Height" width="Width">この場合は動作しません。

助けを歓迎します。

答えて

9

SVGは、プロパティ・バインディングをサポートしていない、それは属性結合

<svg attr.height.px="{{Height}}" attr.width="{{Width}}px"> blah_blah_blah_blah_ </svg> 

または

<svg [attr.height.px]="Height" attr.width="{{Width}}px"> blah_blah_blah_blah_ </svg> 

+0

なぜ '[attr.height] = "高さ"'? – zeroflagL

+0

確かに '' Height'と 'Width'変数値に' px'を渡したいのですが、質問にそれが示されておらず、 'attr.height =" {{Height}} px "' '[attr.height] =" Height + 'px' "'( '+'の代わりに補間)を使っていますが、それは好みの問題です。 –

+1

迅速かつ明確に、私のために働いた!ありがとう@GünterZöchbauer – George

関連する問題