Ho recentemente iniziato a imparare angularjs usando restangular per parlare con la mia restfull API (sails). Il problema su cui mi sono imbattuto è che la ng-repeat non si aggiorna dopo aver modificato l'elenco nell'ambito.Restangular response e ng-repeat
Controller:
app.controller('UsersCtrl', ['UsersSvc', '$scope', function(UsersSvc, s) {
UsersSvc.getList().then(function (new_users) {
s.users = new_users;
})
s.destroy = function (user) {
user.remove().then(function() {
s.users = _.without(s.users, user);
});
}
}]);
Servizio:
app.factory('UsersSvc', function(Restangular) {
return Restangular.all('users');
});
Template:
<div ng-controller="UsersCtrl">
...
<tr ng-repeat"user in users">
<td>{{user.firstName}}</td>
<td>{{user.lastName}} </td>
<td>{{user.emailAddress}}</td>
<td>{{user.age}}</td>
</tr>
...
</div>
Quando ho ispezionare il campo di applicazione della matrice di oggetti restangular viene assegnato correttamente per la portata degli utenti controller ma il modello si rifiuta di aggiornare.
Grazie in anticipo
non riesco a vedere dove si è definito 'usr.users'. Puoi aggiungere anche questa parte? – Sebastian
La parte usr era un refuso durante la copia. Mi riferisco alla variabile users sull'ambito UsersCtrl. – rtemperv
Ho ragione nel pensare che 's' si riferisce a' $ scope'. Inoltre, perché non provare a console.log il risultato della promessa, guarda cosa ottieni – David