有趣的是(至少对于新手而言),如果您从 DJANGO(可能还有其他后端)返回整个列表,则返回的响应可能会改变。在我的情况下,一旦我返回分页,DJANGO Rest 框架就会返回一个数组,要求我重写这个函数。
这似乎做到了:
RestangularProvider.setResponseExtractor(function(response) {
var newResponse = response;
if (angular.isArray(response)) {
angular.forEach(newResponse, function(value, key) {
newResponse[key].originalElement = angular.copy(value);
});
} else {
newResponse.originalElement = angular.copy(response);
}
return newResponse;
});
从:
我希望能够去除从 restangular 添加的其他方法,以便我可以使用 angular.equals 或类似方法将简单的 JSON 对象与重新角化的版本进行比较。
工作流程是
> 1: get array of objects from server
> 2: allow the user to add a new item to the list (via form)
> 3: only enable the save button IF this exact object is not already in the list