W moim kątowej app Mam kontroler następująco:
function TemplateListControl($scope, TemplateService){
$scope.templates = TemplateService.get(); // Get objects from resource
// Delete Method
$scope.deleteTemplate = function(id){
$scope.templates.$delete({id: id});
}
}
w widoku Mam ów stół związały się templates
modelu. w następujący sposób:
<table ng-model="templates">
<thead>
<tr>
<th style="width:40%">Title</th>
<th style="width:40%">controls</th>
</tr>
<thead>
<tbody>
<tr ng-repeat="template in templates">
<td>
<!-- Link to template details page -->
<a href="#/template/[[template.id]]">
[[template.title]]
</a>
</td>
<td>
<!-- Link to template details page -->
<a class="btn btn-primary btn-small"
href="#/template/[[template.id]]">Edit
</a>
<!-- Link to delete this template -->
<a class="btn btn-primary btn-small"
ng-click="deleteTemplate(template.id)">Delete
</a>
</td>
</tr>
</tbody>
</table>
Teraz, po kliknięciu na link Usuń w powyższym szablonie, to wywołuje metodę deleteTemplate
i udane DELETE
połączenie jest wykonane API REST. Jednak widok nie jest aktualizowany, dopóki nie zostanie odświeżony i ponownie zostanie zainicjowany $scope.templates = TemplateService.get();
. Co ja robię źle?
i jak wiemy, czy asynchroniczne wywołanie interfejsu API REST powiodło się? Jestem spokojny, że zasoby kątowe powinny odpowiednio zaktualizować widok. Jeśli ręcznie musimy aktualizować dane po stronie klienta, będziemy musieli ręcznie wykonać obsługę błędów, co wydaje mi się, że podążam w przeciwnym kierunku. – Amyth
Czy możesz podzielić się skrzypce, proszę –