2017-01-12 4 views
0

私は、コンポーネントの名前である文字列変数を持っています。私はこの変数を別のオブジェクトのプロパティに渡す必要がありますが、文字列ではなくコンポーネントのオブジェクトとして渡す必要があります。角2のappコンポーネントの配列

私はアクセスできるアプリケーションのすべてのコンポーネントを格納するグローバル配列はありますか?このようなもの;

let componentName = 'myComponentName'; 
componentsArray[componentName]; 

また、変数を型にキャストすることもできますか?コンポーネントですか?

編集済み...

ルーティング設定を作成しています。

const routes: Routes = [ 
    { 
    path: 'home', 
    component: componentName 
    }, 
    { 
    path: 'services', 
    component: componentName 
    }, 
    { 
    path: '', 
    component: componentName 
    }, 
    { 
    path: '**', 
    component: componentName 
    } 
]; 
+0

私の知る限り、 'app.module'の' @ Component'デコレータの 'declarations'プロパティは、あなたがアプリケーションで使用するすべてのコンポーネントを保持します。それを調べることができるかもしれない – Vasif

+0

そして、いいえ。文字列をコンポーネント型にキャストすることはできません。 – Vasif

+0

この配列で何をやっていますか?代替実装を提案する可能性があります。あなたのものは、Angular2の構築方法を考えると非常に直感的ではありません。 –

答えて

0

説明しているデータ構造は、Angular2ではよく使用されていません。私は、配列の要素をPHPで渡すために要素を格納するときに、この配列を使ってアプリケーションの周りにコンポーネントを渡したいと思う。

Angularはこの問題を別の方法で解決し、コンポーネントの表示と非表示を行うさまざまなツールを備えています。 *ngIfディレクティブ[hidden]など(理由を説明できない限り*ngIf以上は使用しないでください)、最も重要なのはRouterです。これらを学ぶことは少しの投資になりますが、いったんそれを取得すると、より良い成果を得ることができます。

関連する問題