ng-repeat
を使用して生成されたテーブルがあります。列ヘッダーでは、列をソートする必要があります。テキストの隣にfont-awesome
のソートアイコンが含まれていて、クリックしたときにng-click
にng-click="sortColumn()"
と表示されます。私はこれをすべての列見出しに呼んでいます。ng-clickを使用してアイコンのテーブルに場所を取得
どの列ヘッダーがクリックされたかをどのように知ることができますか?今は各ヘッダー列に対して起動します。
ng-click
を使用して現在の列を渡すにはどうすればよいですか?
this
で渡そうとしましたが、$scope
オブジェクトを返します。
は、ここで私がこれまで持っているものだ:私はあなただけsortColumnにオブジェクトとして列を渡すことができるとは思わない
HTML:
<table class="table">
<thead>
<tr>
<td><b>Product </b><i class="fa fa-sort" ng-click="vm.sortColumn(this)"></i></td>
<td><b>Code </b><i class="fa fa-sort" ng-click="vm.sortColumn(this)"></i></td>
<td><B>Available </b><i class="fa fa-sort" ng-click="vm.sortColumn(this)"></i></td>
<td><B>Price </b><i class="fa fa-sort" ng-click="vm.sortColumn(this)"></i></td>
</tr>
</thead>
<tbody>
{{ vm.noProducts }}
<tr ng-repeat="product in vm.products">
<td>{{ product.productName}}</td>
<td>{{ product.productCode }}</td>
<td>{{ product.releaseDate | date }}</td>
<td>{{ product.price | currency }}</td>
</tr>
</tbody>
</table>
Javascript:
vm.sortColumn = function (obj) {
console.log(obj);
}
'vm.sortColumn(product)'のようなカラム名が静的であれば、そのカラム名を直接渡すことができますか? – Niladri
@ニラドリはいできますが、その列にある機能を確認する必要があります。私はむしろより多くのコードを生成しないでしょう。私はそれをよりエレガントなアプローチを探しています。 – JustinJmnz