2016-04-11 14 views
0

AngularJS上に1つの巨大なページを作成する必要があります。そして、私はこのページのためにどのアーキテクチャが良いと思っていますか?したがって、ページには多くの機能を備えた3つのブロックがありますが、主なものは左ブロックにアカウントがあり、ユーザーはいくつかのアカウントを選択でき、このアカウントはセンターブロックに表示する必要があります。センターブロックを変更し、結果を右側のブロックに表示する必要があります。 htmlの場合は、各ブロックに対して3つのビューを作成し、それらをng-includeに含めました。また、私は何らかの形で少数のファイルのコントローラを分割したい、私は1つのファイルで多くのコードで動作しなかったので。そして、私はいくつかの方法、これを行う方法を参照してください。 1.各ビューのコントローラを作成し、ブロードキャストでデータを転送するか、RootScopeにデータを保存してウォッチャを使用します。 2.親コントローラを作成し、データを転送します。 これについてどう思いますか?それとも、1つの大きなコントローラがこれに最適なソリューションですか?コントローラを介してデータを転送するための最良の方法は何ですか?ありがとう。あなたの状況のた​​めの多くのアプローチがあります巨大ページ用の角度アーキテクチャ

答えて

0

、私はそれがあった枯れ、私はすべての

まず最善と思われるもの、あなたがそれにすべての汚い仕事をすることができ、親抽象状態を作るあなたを教えてあげますデータサーバからか、そうでない場合は、あなたが$scopeで使用するために必要なすべてのデータを注入し、そのような

何か「あなたの大切なページである」子状態になります取得:あなたがに行くとき

.state('parent_state', { 
    url: '/home', 
    abstract: true, 
    templateUrl: 'whatever', 
    controller: 'yourCtrl as yourCtrl' 
    }) 
    .state("parent_state.child",{ 
    //Whatever you need here 
    }) 

あなたの子供の状態は、すべてのデータを持っているよ$scopeが必要なので、データをラップする代わりにロジックにもっと集中することができます

私の意見では、ページにはコントローラが1つだけ必要です。ビューのすべての部分にコントローラを付ける必要はありません。カスタムディレクティブを使用する場合

したがって、すべてのコントローラを制御するコントローラが1つであれば、1つのコントローラと複数のディレクティブが必要です。

お電話

関連する問題