2017-03-03 22 views
0

に関連付けられた変数の名前を取得します。関連する変数の名前を取得しますか?最初のテンプレートは "test"、もう一方は "test2"です。私は絶対に変数を使用する必要はありませんが、ng-templateという属性を使用することができればOKです。 TemplateRefViewContainerRef、およびElementRefで試しましたが、毎回comment要素への参照が返されます。は、私は、このテンプレートを持っていると言うTemplateRef

答えて

0

あなたは次のように名前によってそれらを求めることにより、テンプレート変数にアクセスすることができます。ここでは

@ViewChildren('test, test2') templates; 

は、動作を実証シンプルPlunkerです。

+0

はい私はこれを知っていますが、私のコンポーネントをより一般的にしたいと思います。私は、必要な数だけ 'ng-template'を入れて、コードでそれらを取得できるようにしたいと思います。しかし、私は '{test:{...}、test2:{...}}'のようなjsonオブジェクトを持っているので、それらを識別する方法も必要です。 – ssougnez

+0

テンプレート変数を動的に追加することはできません。そのため、設計時に作成されたテンプレート変数を超えることはありません。これは名前で参照するだけで、あらかじめ定義された名前を使用してオブジェクトからデータにアクセスできる場合に当てはまります。 –

+0

テンプレート変数を動的に追加したくありません。 'ViewChildren'のようなものですが、実行時に' let tpl:TemplateRef = this.viewChildren.get(name); 'のようなものをテンプレートから動的に取り出すことができるか、テンプレートからすべての 'ng-template'要素を取得して、それらに付けられた変数の名前を取得する方法があります。 – ssougnez

関連する問題