2016-10-26 15 views
2

呼び出す際に渡された値を受け取っていないheatMap属性ディレクティブを作成しました。角2:属性ディレクティブが入力値を受け取っていません

ヒートマップ指令:

import {Directive, ElementRef, Input, Renderer, OnInit} from "@angular/core"; 

@Directive({ 
    selector: '[HeatMap]', 
}) 

export class HeatMapDirective{ 

    @Input('startVal') public startVal: string; 

    constructor(private el: ElementRef, private renderer: Renderer) { 
     this.processHeatMap(); 
    } 

    processHeatMap() { 
    console.log(this.startVal); // prints undefined. 
    } 
} 

HTML要素:

<td class="pad-10" [startVal]="'25'" HeatMap> 25 </td> 

私は、文字列と数値が、両方が動作していないの両方に合格する必要があるシナリオを持っています。何か不足していますか?

+0

次のいずれかのエラーを取得していますか? – ranakrunal9

+0

エラーはありません! 'console.log(this.startVal); // prints undefined. –

+2

angular2ライフサイクルフックを確認します。コンストラクタに初期化された@Input値はありません – yurzui

答えて

0
としてあなたのhtmlを変更し

<td class="pad-10" [startVal]="'25'" HeatMap> 25 </td> 
+0

私はここでそれを追加しながらそれを逃した、実際の実装で現在の –

+1

のような 'ngOnInit'関数の内部の値をチェック:ngOnInit(){console.log(this.startVal); } – ranakrunal9

+0

ありがとう、それは働いた! –

関連する問題