У меня есть этот контроллер. Всякий раз, когда я пытаюсь привязать свои $ scope.things к моему полученному JSON с сервера, мой просмотр не будет обновляться. Фактически, если я оставил свой push(newThing)
и раскомментировал свои звонки на getAllThings()
, мое представление отобразит данные и, менее чем за секунду, удалит его.Почему эта двухсторонняя привязка данных не работает?
Проблема: на стороне сервера (Morgan работает с Node и MongoDB), я распечатываю объект json, прежде чем он будет передан моему клиенту, и объект верен, у него есть последний созданный объект.
Я хочу использовать push вместо того, чтобы делать другой запрос на сервер для получения данных, но я действительно расстроен из-за этой темы. Еще одна интересная вещь, что мои второй, третий и последующие призывы к insertThing()
должным образом обновят мое представление. Это было похоже на невежественность. При необходимости я могу предоставить больше кода.
Контроллер:
$scope.insertThing= function(newThing){
$scope.things.push(newThing);
$http.post('http://localhost:8080/things', newThing)
.then(function(res){
//$scope.getAllThings();
delete $scope.newThing;
}, function(res){
});
//$scope.getAllThings();
};
$scope.getAllThings = function(userDpt){
$http.post('http://localhost:1234/things/dpt/', {userDpt: userDpt})
.then(function(res){
$scope.things = res.data;
}, function(res){
});
};
Узел сервера с Мангуста:
app.post('/things/dpt', function(req, res){
var department = req.body.dpt;
var things= {};
TicketModel.find({ fromDpt: department},
function(err,obj){
res.json(obj);
});
});
Markup:
<tr ng-repeat="thing in things">
<td> {{ thing.toDpt}} </td>
<td> {{ thing.status }}</td>
<td> {{ thing.deadline }}</td>
<td><button class="btn close" data-ng-click="deleteThing(thing._id)">×</button></td>
</tr>
http://jsfiddle.net/arunpjohny/wknqxqmq/1/? –
В вашей функции 'getAllThings', откуда появляется' data.json'? Я не вижу, чтобы это определялось где угодно. – raduation
Это звучит как проблема с заказом, в котором вы загружаете данные, а затем вызываете свой метод insertThing. С кодом, который вы поставили, сложно сказать. Мы могли бы видеть больше. –