ユーザーがイベントを作成して地図上にピンをドロップできるWebアプリがあります。また、フィルターのリストでイベントを参照することもできます。地図はグーグルマップによって提供されます。したがって、アプリには3つの主要なコンポーネントが含まれています。フィルターリスト、新しいイベントフォーム、マップです。
AngularJSを使用してこれをどのように設計する必要があるかを考えています。以下は私が試みていることと私がぶつかっている問題です。
ユーザーが作成した最新のイベントである「新しいイベント」のインスタンスを表す、イベントフォームのコントローラーを作成しました。ユーザーがフォームを正常に送信し、すべてが検証されたら、ユーザーは地図をクリックしてピンをドロップできます。ユーザーがピンをクリックすると、フォームにあったようにイベントの情報が表示されます。現在、ドロップピンとピン情報関数はすべて、コントローラーから分離されたGoogleのAPIによって処理されます。ただし、関数は新しいイベントのデータにアクセスする必要があります。つまり、コントローラーのスコープへのアクセスを関数に与える必要があります。
スコープへのアクセスを提供することはできますが、外部機能へのアクセスを許可することは正しいことではないと内臓が教えてくれます。では、これを設計するためのより良い方法は何ですか?または、スコープへのアクセスを許可することが完全に合法であると間違っている可能性があります。そうであれば、誰かが根本的な理由についての洞察を私に提供できますか?