web-dev-qa-db-ja.com

AngularJS ng-grid with custom button

angular button in a ng-grid を使用しています。グリッド内からクリックされたボタンを識別する方法を知る必要があります。

複雑さの一部は、行が選択される前にボタンがクリックされることだと思います(ちょうど私の分析、おそらく解決策を助けません:)

グリッドの外観のスナップショット

ng-grid

問題を説明するプランカー ここ

25
Sudarshan

私は私の質問を解決する方法を見つけることができました。基本的に、ng-clickの関数の引数として「行」を渡します。 ng-click = "save(row)"

.. ng-click="edit(selectedItem)" >Edit</button> '

.. ng-click="edit(row)" >Edit</button> '

プランカーを更新しました here 同じことを反映しています

row.entityは、グリッドのこの行にバインドされたエンティティを提供します

26
Sudarshan

@Shai Aharoniクリックハンドラーの最初の引数として$ eventを渡すことで、行が選択されないようにすることができます。

.. ng-click="edit($event, row)">Edit</button>

次に、ハンドラー内からイベントでstopPropagation()を呼び出します。

$scope.edit = function(event, row) { event.stopPropagation(); }
5
nichols