2017-03-23 4 views
0

でコンポーネントをインスタンス化しながら、私は次のように角度2に独自のカスタム・コンポーネントを作成するために、サードパーティ製のコントロールから派生してい活字するHTMLから値を渡す:角度2

 @Component({ 
     selector:"my-kendo-grid" 
     inputs: [gridType2] 
     }) 

     export class myClass implements OnInit{ 
     @Input gridType:string; 
      gridType2 : string; 

     ngOnInit(){ 
     console.log(this.gridType); 
     console.log(this.gridType2); 

     } 

と私は、このコンポーネントをインスタンス化していますより以下のように(親コンポーネントで)別のコンポーネントで:

<my-kendo-grid [gridType]="'test'" [gridType2]="test2"></my-kendo-grid> 

を今私は親コンポーネントからと.TSファイルからHTMLファイルそのものではないから、文字列値「test」を渡したいです。私はそれを子コンポーネントのコンストラクタまたはngOnInitで使うことができます。

しかし、私はこれを行うとき、私はどちらの場合でも子コンポーネントのコンソールで未定義になっています。

+0

「htmlファイル自体」とは何ですか?あなたが説明していることを示すコードを追加してください。 –

+0

こんにちはガンター、 "htmlファイル自体"は、.tsファイルからではなくhtmlファイルからのみを意味します。 –

+0

どのようなHTMLファイルですか? 'index.html'またはコンポーネントテンプレート? –

答えて

0

コンポーネントに直接文字列値を渡したいので、プロパティバインディング[gridType]を使用しないでください。そのような場合は、属性を直接使用し、その属性に値を設定します。それはコンポーネントbindingに直接渡されます。

<my-kendo-grid gridType="test" gridType2="test2"></my-kendo-grid> 
+0

仕事がありますか?バインディングに文字列値を渡したかったのですか? –

+0

こんにちはPankaj、私はあなたが言ったことを試しました:しかし、私はngOnInitコンソールで「未定義」になっています。しかし、子コンポーネントのボタンを作成し、クリックイベントで文字列値 'test'と 'test2'を取得しています。しかし、私はその値をngOnInitで、クリックイベントではしたくありません。 –