2016-05-09 2 views
0

私はngAsideを使ってデータを表示しています。データはユーザーが選択した変数に依存するので、IdをngAsideのコントローラに渡す必要があります。私はngMaterial​​に書かれて見てきたもので、これをベースとしているngAsideコントローラにローカル変数を渡そうとしています

$aside.open({ 
    templateUrl: 'details.html', 
    placement: position, 
    size: 'lg', 
    backdrop: true, 
    locals: { 
     mode: "create" 
    }, 
    controller: function Ctrl($scope, $uibModalInstance, mode) { 
     $scope.test = mode; 
     $scope.ok = function (e) { 
      $uibModalInstance.close(); 
      e.stopPropagation(); 
     }; 
     $scope.cancel = function (e) { 
      $uibModalInstance.dismiss(); 
      e.stopPropagation(); 
     }; 
    } 
}) 

今の私のコントローラは、次のようになります。

かの期待どおりに動作していないとImは

Unknown provider: modeProvider <- mode 

を得るにはどうすればこの問題を解決し、私のngAsideテンプレートに表示される変数を渡すことができることができますか?

答えて

0

"モード"変数をコントローラに注入したいので、標準の "resolve"パラメータを使用していると思います。

$aside.open({ 
    templateUrl: 'details.html', 
    placement: position, 
    size: 'lg', 
    backdrop: true, 
    resolve: { 
    mode: function() { 
     return "create"; 
    } 
    }, 
    controller: function Ctrl($scope, $uibModalInstance, mode) { 
    [...] 
    } 
}); 

基本的には、依存性注入のリストに登録されていない各コントローラのパラメータについて、あなたは変数に注入したい値を返す関数を提供する必要があります。

この機能:

mode: function() { 
    return "create"; 
    } 

が実行され、その戻り値は、「モード」コントローラの引数に移入されます。

関連する問題