2017-09-07 14 views
0

ember.jsアプリケーションにember-engineを外部アドオンとして追加し、親アプリケーションとエンジンの両方がストアを共有しています。 これは、エンジンからルート内のモデルをフェッチするときに、ストアを共有するという事実により、親アプリケーションがモデルを知らないというクラッシュを引き起こすため、問題が発生します。ember-engineからモデルをインポート

モデルをエンジン内部から親モデルにコピーすると、モデルが修正されますが、分離の原則に反します。

エンジンのモデルを親アプリケーションにインポートする方法があるのだろうか。親エンジンにエンジンのモデルも認識させても、少なくともコードを複製しないからです。

それはアドオンですので、私はこれがうまくいくはず:

`import DockerComposeModel from 'ember-stack-builder-engine/models/docker-compose'` 

をしかし、あなたは私たちにあなたがエンジンを設定しているどのようにいくつかのコードを表示してくださいすることができ

Error: Could not find module `ember-stack-builder-engine/models/docker-compose` imported from `bde-integrator-user-interface/application/controller` 

答えて

0

エラーがスローされます。

通常、エンジンとアプリはモデルを共有しているため、インポートを使用する必要はありません。

this.findRecord(ModelName)を直接使用することはできますが、機能しない場合はコードを共有してください。

+0

私はエンジンとアプリケーションの間でストアを共有しています。アプリケーションでは、エンジンで定義されたモデルを取得しようとはしませんが、失敗します。何も特別なものではなく、ストアを共有サービスとして追加するだけです。 – Urco

+0

私が今まで知っていることは、アプリサービス、コントローラ、エンジンのルートを注入できる点です。私が知っている通り、エンジンからアプリケーションへのルックアップは不可能です。 https://github.com/emberjs/rfcs/pull/10/files#r38705032こちらをご覧ください。 – Sandeep

関連する問題