Я получаю данные из базы данных, данные поступают из db и отображаются в режиме предупреждения, но не отображаются в таблице, используя ng-repeat. Вот мой код:
Таблица:
<table class="table table-hover table-bordered">
<tr>
<th>Doctor Id</th>
<th>Name</th>
<th>Specialization</th>
</tr>
<tr ng-repeat="doctor in doctorList" class="success">
<td> {{doctor.userId}} </td>
<td>{{doctor.name}}</td>
<td>{{doctor.specialization}}</td>
</tr>
</table>
Кнопка Нажмите Код:
<div class="controls" ng-controller="searchController">
<a class="btn btn-success " ng-click="searchDoctor()"> Search Doctor </a>
</div>
Код контроллера:
var myApp=angular.module('myApp',[]);
myApp.controller('searchController',['$scope','$http',function($scope,$http) {
$scope.searchDoctor = function(){
alert("search");
$http.get('http://localhost:8080/Webapp/webapi/doctor/'+$scope.spec).success(function(data){
var doctorList = [];
for(j=0; j<data.length; j++){
alert(data[j].homeNumber);
doctorList.push({
"specialization" : data[j].specialization,
"userId": data[j].userId,
"name": data[j].firstName
})
}
alert(doctorList[0].name);
$scope.doctorList = doctorList;
});
}
}]);
Список установлен, я получаю значение в предупреждении, но не показываю в таблице. Может ли кто-нибудь помочь мне, что я делаю неправильно, буду благодарен :)
Думаю, объем вашей таблицы не в том месте.
Таблица должна находиться внутри ng-controller="searchController"
div.
У вас есть два угловых контроллера, которые являются братьями и сестрами, такими как DoctorsController
и SearchController
и ваша структура html похожа на это?
<div ng-controller="DoctorsController">
<table class="table table-hover table-bordered">
...
</table>
</div>
<div ng-controller="SearchController">
...
<div>
В этом случае это нормально, что ваш список не будет обновляться, потому что есть 2 разных области. Может быть, это хорошая идея опубликовать также вашу структуру html, включая угловые контроллеры.