2016-06-29 13 views
0

jsonオブジェクトの配列を取り、一連のボタンを作成する指示要素を作成しようとしています。まず、左ボタンと右ボタンだけで作業しようと思った。ここでディレクティブコードがディレクティブテンプレート内の外部コントローラ関数にアクセス

私は

<div ng-controller="FormCtrl as form"> 
    <buttongroup 
     left-func="form.cancel()" left-text="Reject Call" 
     right-func="form.submit()" right-text="Accept Call"> 
    </buttongroup> 
</div> 

そしてHERESにそれを使用しようとしている方法です

.directive('buttongroup', function() { 
    return { 
     restrict: 'E', 

     scope: { 
     leftFunc: '@', 
     leftText: '@', 
     rightFunc: '@', 
     rightText: '@' 
     }, 

     template: '<button type="button" ng-click="{{leftFunc}}">{{leftText}}</button><button type="button" ng-click="{{rightFunc}}">{{rightText}}</button>', 
    }; 
}); 

これは正しいHTMLを作成しますが、ng-clickは、ボタン上では動作しません。私はこれが命令のテンプレートスコープにあり、form.submitまたはform.cancelとしてFormCtrl関数にアクセスすることができないと仮定しています。

私は角度をつけてまだ新しく、スコープがどのように機能するか把握しようとしていますので、どんな助けにも感謝します。

答えて

0

関数を呼び出して呼び出す必要があります。 テンプレートに構文エラーがあります。私はこれが答えのほとんどであるng-clickディレクティブ

template: '<button type="button" ng-click="leftFunc()">{{leftText}}</button><button type="button" ng-click="rightFunc()">{{rightText}}</button>' 
+0

を使用する方法 お知らせ:それはこのようにする必要があります。もう一つの問題は、leftFuncとrightFuncは '&'ではなく '@'である必要があるということです。しかし、私はこの答えを見てすぐにそれを理解しました。ありがとう! – werdna357

関連する問題