2016-09-30 12 views
1

我々は[属性]セレクタを使用しなければならないSVGの内部コンポーネントにするhttp://blog.500tech.com/svg-in-angular-2/によると:このSVGMapComponentは、いくつかの中で使用されている私のシナリオではどのようにネストされたにデータを渡すために(子)角度2属性コンポーネント

// svgmap.componet.ts chunk of code: component declaration 
@Component({ 
    selector: '[svgmap]', 
    templateUrl: 'app/svg/map/svgmap.template.html' 
    }) 

をこのように、親コンポーネントテンプレート:

<svg [attr.class]="mapClass[0]" svgmap="1"></svg> 
    <svg [attr.class]="mapClass[1]" svgmap="2"></svg> 
    <svg [attr.class]="mapClass[2]" svgmap="3"></svg> 

は、これまでのところ、それが正常に動作しますが、今、私は私が(上記の例では、「1,2,3」、すなわち)svgmap属性値として渡そうとしました値を使用する必要がありますsvgmap.componet.tsのコードに入れますが、私はそれがpoであるかどうかわかりませんssibileとそれをつかむ方法。

可能な場合:私のタイスクリプトの子コンポーネントで使用できる構文は何ですか(svgmap.componet.ts)。
できない場合:なぜですか?それは回避策がありますか?

P .:私は https://www.themarketingtechnologist.co/building-nested-components-in-angular-2/のようないくつかの記事を読んでいますが、上記の状況には該当しません。

答えて

2

あなたはディレクティブと同じように、それを同じようにするだろう。どうもありがとうございました@peeskilledセレクタ

@Component({ 
    selector: '[svgmap]', 
    templateUrl: 'app/svg/map/svgmap.template.html' 
}) 

export class SvgMapComponent { 
    @Input('svgmap') value:number; 
} 
ngAfterContentInit() { 
    // this.value is now with value set 
    console.log(`SVGMapComponent ngAfterContentInit: level=${this.value}`); 
    this.svgClass= `map map--${this.value}`; // example usage of the value 
} 
// arbitrary code here 
} // end of class 
+0

と同じ名前の@Input()を使用しています。 Angular2のバージョンでは、型の指定を使用しているため、特にAngular2を完全に熟知していない人にとっては、非常に便利ないくつかの詳細が追加されているため、答えを編集します –

関連する問題