0

この質問に関連する:許可されたメニュー項目が渡される動的なナビゲーションを作成するにはどうすればよいですか?

基本的に、私はどのビューの外にもナビゲーションを持っています。ナビゲーションには、ユーザーがアクセスできるメニュー項目を表示する必要があります。

次のようなディレクティブを使用して nav マークアップを作成します。

<tree family="treeFamily"></tree>

treeFamilyナビゲーション メニューの構築に使用されるデータはどこにありますか。

ただし、私のナビゲーションはビューの外にあるため、コントローラーがないため、というスコープ変数はありませんtreeFamily。つまり、ディレクティブはナビゲーションを作成するためのデータを取得しません。

私は当初、メニュー項目のデータをサービスに注入できると思っていましたが、注入されたサービスから取得したデータをバインディングに使用するように角度ディレクティブに指示する方法はありません。

可能と思われる他の唯一の方法は、treeFamily と呼ばれる $rootScope 変数を持ち、代わりにディレクティブで生成されたマークアップをそれにバインドさせることです。

4

2 に答える 2

0

前の質問で述べたように、angular-ui ルーターを見たいと思っていると思います。

https://github.com/angular-ui/ui-router

ただし、 angular-ui-router なしでこれを行う方法は、サービスを作成し、それを宣言するときにサービスをディレクティブに挿入し、http://docs.angularjs に従ってそこにあるデータを使用することです.org/guide/directive .

例えば:

angular.module('yourModule').service('yourService', function() {
   // define your service
});

angular.module('yourModule').directive('yourDirective', function(yourService) {
  return {
     link: function postLink(scope, element, attrs) {
       // you can now define your directive and access your yourService service
     }
  };
});
于 2013-09-12T22:58:00.733 に答える