8

私は AngularJS を初めて使用します。これは非常に複雑であり、アプローチも私にとって新しいものであるため、少し混乱しています。

私は「古典的な」バックグラウンドの出身です (サーバー側のテンプレート言語 [Yii、django、Smarty など] + 物事を少し動的にするための jQuery)。

メニュー バー (Bootstrap NavBar など) があるとします。これは、次のように、メイン ページのcontentの外にある要素です。

<body>
  <div id="menubar">
    ... <!-- menu content -->
  </div>
  <div class="container">
    <div ng-view></div>
  </div>
</body>

ここで、メニューを少し動的にしたいと思います。つまり、コントローラー内のいくつかのメニュー項目を追加または削除します。サーバー側フレームワークとそのテンプレート システム (Yii など) を使用する - 単純に変数を持つBaseControllerクラスを作成し$menuItems、毎回それをレンダリングしますが、menuBarすべてのコントローラーはから継承するBaseControllerため、アイテムを変更できます。

searchFormまた、メニューバー内にある関数を処理する必要があります。それはどこに住むべきですか?

このようなもののAngularの方法は何ですか? これまでのところ、カスタムserviceまたは拡張を作成することを考えていました$rootScope

4

1 に答える 1

9

更新: angular.jsを採用するための 2 番目のステップとして、 John Papa の ng-demoesstyle-guideを参照することをお勧めします。

完全なアプリケーションを示すために、Angular.js チームが最近投稿した例を確認してください。

angularが提供する次の機能に注意してください

  • ngViewngIncludeディレクティブ

  • ディレクティブの templateUrl プロパティ

  • ディレクティブでの「=」、「&」、「@」スコープのバインディング

あなたが説明した方法でメニューをレンダリングするためのサービスとディレクティブを組み合わせることは、良いアプローチになると思います。

于 2013-06-03T13:31:03.873 に答える