コンテストのエントリを表示するテーブルがあります (PHP を使用して DB から取得し、AngularJS および JavaScript で使用する .json オブジェクトに変換します)。また、モーダルを実装して、「審査員」が各エントリをクリックすると、そのエントリの詳細が表示されるようにしたいと考えています。したがって、基本的には、1 行のデータをそのモーダル (ui.bootstrap モーダル) に渡す必要があります。
以下は、すべてのデータを含むテーブルのマークアップです。モーダルは ng-repeated に適用されます:
<table class="submissions">
<tr class="tb-header">
<td>id</td>
<td>wa #</td>
<td>name</td>
<td>email</td>
<td>file</td>
<td>rating</td>
<td>submitted on</td></tr>
<tr ng-click="open()" ng-repeat="row in rows track by $index">
<td>{{ row.id }}</td>
<td class="wa-num">{{ row.wa_num }}</td>
<td>{{ row.name }}</td>
<td>{{ row.email }}</td>
<td id="submitted-file">{{ row.file }}</td>
<td>{{ row.rating }}</td>
<td>{{ row.submitted }}</td>
</tr>
</table>
そして、そのページ全体とモーダルを制御するコントローラーは次のとおりです。
.controller('dashboard',['$scope', '$rootScope', '$location', '$modal', 'loginService', 'getEntries',
function($scope, $rootScope, $location, $modal, loginService, getEntries){
$scope.open = function () {
var modalInstance = $modal.open({
templateUrl: '/partials/submission_mod.html',
controller: ['$scope', '$modalInstance', function($scope, $modalInstance){
$scope.modalInstance = $modalInstance;
$scope.cats = "Submission info goes here.";
}]
});
};
var entries = getEntries.entries();
entries.save(
function(result){
console.log(result);
//$scope.rows = [];
$scope.rows = result.entries;
console.log($scope.rows);
},
function(result) {
console.log(result);
}
);
}])
そして、モーダルのマークアップは次のとおりです (現時点では、なんらかの理由で何も取り込んでおらず、ハードコードされた「猫」でさえありません):
<div class="modal-entry">{{ cats }}</div>
<button class="btn btn-primary btn-modal" ng-click="modalInstance.close()">Close</button>
質問は、そのモーダルにデータを渡すにはどうすればよいですか? クリックされた行のみをプルするようにターゲットにする方法など?
どんなガイダンスでも大歓迎です。