во-первых, почему у вас ng-repeat
на div
, а не на <tr>
?Вы хотите отдельный div для каждого драйвера или отдельную строку?Я предлагаю вам использовать ng-repeat
для <tr>
, а также добавить директиву ng-click
для вашего <tr>
, чтобы каждый раз, когда кто-то нажимал на строку драйвера, на вашем контроллере выполнялась функция, и в этой функции вы могли перенаправлять информацию о драйвере, такую какниже: -
<tr ng-repeat="x in drivers | orderBy: '+Points'" ng-click="driverDetails(x.DriverId)" id="tableRow">
<td id="td1">Nb: {{x.position}}</td>
<td id="td2">{{x.Constructors[0].nationality}} {{x.Driver.givenName}} {{x.Driver.familyName}}</td>
<td id="td3">{{x.Constructors[0].name}}</td>
<td id="td4">Points{{x.points}}</td>
</tr>
теперь в вашем контроллере напишите функцию driverDetails
, как показано ниже: -
$scope.driverDetails = function (driverId) {
$location.path('/driverDetails').search({ driverId: driverId });
};
, в этой функции вы изменяете URL и добавляете driverId в качестве строки запроса,Теперь в routes
добавьте еще route
.when("/driverDetails", {
templateUrl: "./src/pageDetails/driverdetails.html",
})
, поэтому, когда в контроллере выполняется функция driverDetails
, загружается driverdetails.html
и в идентификаторе запроса указывается идентификатор DriverId.Теперь в контроллере driverdetails просто извлеките driverId и выполните вызов API для этого конкретного драйвера