2017-12-01 4 views
3

現在、私は角度5のGISプロジェクトを扱っています。これはopenlayersマップを含む中央コンポーネントに焦点を当てています。私は基本的に、このマップを操作できるように、他のすべてのコンポーネントが必要です。したがって、私は、たとえば、他のコンポーネントがこの中央コンポーネントの機能を呼び出すためのクリーンなソリューションが必要です。地図上の位置を変更したり、レイヤーを変更したりしてください。複数の角度5のコンポーネントが1つの中央コンポーネントを操作します

私は@Output/@InputEventEmitterを使ってみましたが、最後にこれらのイベントが100になると恐ろしくスケールされます。関連するすべてのコンポーネントに注入できるサービスを作成する方法はありますか?これはマップコンポーネントの操作を管理できますか?私は被験者/観察可能なものを見てきましたが、これが実行可能な選択肢であるかどうか、私の頭を包み込むのは苦労します。アプリはかなり大きくなることが予想されるので、私はこれが最初から正しく行われたかったのです。私はこの上に多くの材料と記事があることを知っていますが、私はこのユースケースを満足していると感じるものは見つかりませんでした。

角度のあるウィザードには良いアドバイスがありますか?本当にありがとう!

+0

サービス内の場所の地図オブジェクトを、各コンポーネントにサービスを注入します。メインコンポーネントはマップを設定し、他のコンポーネントはマップを取得します。 –

答えて

1

この問題はフェイスブックに直面していたため、フラックスアーキテクチャーが出てきました。この問題に対処するために、Redux with Angularを使用することができます。これはアプリケーションのこの特定のユースケースを意味します。

Reduxを使用すると、アプリケーション全体で単一の状態にすることができ、イベントループやすべてを減らすことができます。

http://blog.ng-book.com/introduction-to-redux-with-typescript-and-angular-2/

https://www.uruit.com/blog/2017/05/04/using-redux-angular/

https://dzone.com/articles/why-should-you-be-using-redux-with-angular

+1

優れたリンクを読んでいると、これが解決策になる可能性があります。私は今、この回答を受け入れて、私が実現している、そして確かに知っている状態のものに戻ります。それにもかかわらず、優れた読書と素晴らしいツールについて知っています。ありがとう! – Hjorth

+0

@Hjorth plsは一度実装すれば広告をよく更新します。それを見てうれしいです。あなたはGITのレポを持っていますか? openlayersでAngles 5でopensource GISプロジェクトを探しています。 – Danish

関連する問題