2016-07-15 18 views
1

親コンポーネントからのボタンクリックイベントでコンポーネントを動的にロードするサンプルアプリケーションを作成しようとしました。しかし、ボタンをクリックするとコンポーネントが読み込まれず、代わりにブラウザのコンソールに次のエラーが表示されます。あなたはそれがインスタンス化されたことを確認する必要があり@ViewChild(Loader, ...)を照会した場合、アプリケーション・コードコンポーネントを動的にロードすることができません

zone.js:461Unhandled Promise rejection: Cannot read property 'createComponent' of undefined ; Zone: angular ; Task: Promise.then ; Value: TypeError: Cannot read property 'createComponent' of undefined 
    at eval (https://run.plnkr.co/EQ3xbfuUPWfMTU2C/src/app.ts!transpiled:38:45) 
    at ZoneDelegate.invoke (https://npmcdn.com/[email protected]/dist/zone.js:323:29) 
    at Object.onInvoke (https://npmcdn.com/@angular/core/bundles/core.umd.js:9100:45) 
    at ZoneDelegate.invoke (https://npmcdn.com/[email protected]/dist/zone.js:322:35) 
    at Zone.run (https://npmcdn.com/[email protected]/dist/zone.js:216:44) 
    at https://npmcdn.com/[email protected]/dist/zone.js:571:58 
    at ZoneDelegate.invokeTask (https://npmcdn.com/[email protected]/dist/zone.js:356:38) 
    at Object.onInvokeTask (https://npmcdn.com/@angular/core/bundles/core.umd.js:9091:45) 
    at ZoneDelegate.invokeTask (https://npmcdn.com/[email protected]/dist/zone.js:355:43) 
    at Zone.runTask (https://npmcdn.com/[email protected]/dist/zone.js:256:48) 

答えて

1

ためplunkerをご覧ください。このためには、directives: [...]

directives: [Loader] 
}) 
export class App { 
私はこの答えを受け入れる

Plunker example

+0

Loaderを追加する必要があり、同じロジック/コードは、私は私のプロジェクトに適用し、それをローカルに試してみましたが、私は中にロードされるコンポーネントが含まれて指令。しかし、私はまだブラウザのコンソールとコンポーネントが正しく読み込まれていない例外が表示されます。あなたはこのクエリに応答していただけますか?http://stackoverflow.com/questions/38360904/typeerror-cannot-read-property-createcomponent-of-undefined – Krishnan

+0

あなたが共有しているプラ​​ンカーでは、他の代わりに、ボタンをクリックすると、既存のインスタンスを新しいインスタンスに置き換えることが可能です。つまり、ロードするインスタンスが1つだけだったらいつでも、どのようにこれを行うのですか? – Krishnan

+0

申し訳ありませんが、あなたのご意見は忘れました。 「受信箱」は、あなたが多くのコメントを得たときのように快適ではありません。私はhttp://stackoverflow.com/questions/38442546/how-to-avoid-creating-multiple-instance-ofに回答しました - 同じ - 成分 –

関連する問題