2016-05-17 7 views
0

EmberJSコンポーネントを動的にロードしようとしていますが、ルックアップが未定義に戻ります。私はEmberにとってはまだ新しいですから、私はいくつかのコンセプトが欠けていると思います。ここに私のコードは次のとおりです。Ember container.lookupでコンポーネントが見つかりません

var component = getOwner(this).lookup('component:mycomponent', {singleton: false}); 

私はちょうどcreated.Itは、そのコンポーネントのクラス(.jsファイル)、テンプレート(.hbs)とルートを持っていました。この新しいコンポーネント。 'mycomponent'を既存のコンポーネントの名前、例えばotherComponentに置き換えた場合、ルックアップは成功します。新しいクラス、テンプレート、ルートは、そのタイプの他のファイルと同じフォルダにあります。私は前にルックアップを他のコンポーネントで使用していたので、なぜこれが失敗するのかについて迷っています。誰かが私を啓発することはできますか?ルックアップで見つけられるように新しいコンポーネントを登録する必要がありますか?

+0

コードをどのように構築しますか?あなたのコードがES5 AMDモジュールに転送され、テンプレートがJSにコンパイルされることを忘れないでください。ただし、開発サーバーでember-cliを使用する場合は、ファイルの変更を認識して再構築する必要があります。 – Lux

答えて

0

私はそれを理解しました。私は約6ヶ月でコンポーネントを一から作成せず、ファイルの作成方法も覚えていません。このコンポーネントのファイルをSublime内に作成しました。他のアイデアはなく、私はコマンドラインに行き、 'ember g component mycomponent'を実行しました。私は、既存のファイルを上書きしないように指示し、統合テストファイルを作成し、次にクラスファイルへのパスのエクスポートを含むapp/data/components/mycomponent.jsを作成しました。今それは動作します。 Emberの一般的なドキュメントは物事をより明確にしたいと思っています。彼らが私に言うのに必要なのは、それがコンポーネントをどのように検索したのかということでした。いいえ、代わりにEmberインジェクションの概要と、ルックアップの使用例があります。それはしばしば、ドキュメントと2時間のグーグルを理解しようとする20の質問を再生することは何も見つかりませんでした。簡単な1行(ファイル)の修正です。

+0

こんにちは、不足していると思われるものについて、ガイドやapiドキュメントリポジトリに問題を提出できますか?私たちにとっては非常に有益なフィードバックです。 – locks

+0

私はそれを、ありがとう。 – Lazloman

関連する問題