2016-03-23 17 views
0

をクリックして作成しますイベントをクリックしてボタンをクリックし、その後コントローラの中で このイベントを使用します。 しかし、私はそれを行う方法がわかりません。 助けてください。どうもありがとう。Angularjsディレクティブは、私はこのような単純なディレクティブを、持っているイベント

+0

あなたがいない、 'NG-click'を使用することができます - 作業例はで見つけることができます @sumit Plunker
ここでのコードサンプルは、ですか? – aprok

+1

ディレクティブ全体をクリック可能としていますか?のように、それは要素の指示ですか? – ellitt

+1

'ng-click =" clicke($ event) "' – fracz

答えて

1

私は何かを使用することをお勧めします角度は既にあなたに与えます:ng-click

はここで私はあなたのためにやったJSBin例です:

<div ng-controller="Controller"> 
    <div my-customer ng-click='clicke()'></div> 
</div> 

あなたはディレクティブをクリックすると、それは次のようになります。

enter image description here

+0

ありがとう、しかし、もっと多くの要素を使い、クリック後にIDや名前をつける必要がある場合。私はタブメニューのようなディレクティブを使用して、動的にビルドしたいと思います。そしてある項目(1,3 .. xxx)をクリックした後、彼にidを渡してください。そして、私はそれをやる方法を知らない。 –

1

あなたが反復処理するng-repeatを使用することができます配列の顧客(配列のインデックス)が表示されているパラメータを取得するng-click関数を持っている...

<div ng-repeat="customer customers track by $index" ng-click="myClickHandler(index)"> 
    {{customer}} 
</div> 
1

私は解決策を提案します。

angular.module('docsTemplateUrlDirective', []) 
    .controller('Controller', ['$scope', function($scope) { 
    $scope.customer = { 
     name: 'Naomi', 
     address: '1600 Amphitheatre' 
    }; 

    $scope.clicke = function(evt) { 
     alert('test'); 
    }; 

    }]) 
    .directive('myCustomer', function($parse) { 
    return { 
     restrict: 'A', 
     scope: true, 
     templateUrl: 'my-customer.html' 
    } 
    }) 
    .directive('clickEvent', function($parse) { 
    return { 
     restrict: 'A', 
     scope: true, 
     link: function(scope, el, attrs) { 
     var expressionHandler = $parse(attrs.clickEvent) 
     el.find('#btnSubmit').on('click', function(e) { 
      expressionHandler(scope); 
     }) 
     } 
    } 
    }); 
関連する問題