2
다음 고객이 고객을 돌려주는 서비스를 사용하는 컨트롤러가 있습니다. 문제는 컨트롤러가 처음 실행될 때만 서비스가 실행된다는 것입니다. 내 서버를 볼 때 나는보기를 변경하고 고객을 추가하고 다른 고객이 없기 때문에 고객이 업데이트하지 않은보기로 되돌아 오는 경우 컨트롤러가 사용한 첫 번째 요청 (보기를로드하는 중) 만 볼 수 있습니다. 서비스 요청.처음 컨트롤러를 사용하는 경우에만 AngularJS 서비스가 사용됩니다.
.controller('searchCTRL', ['$scope', '$http', 'Customers', function($scope, $http, Customers) {
$scope.customers = Customers;
$scope.deleteCustomer = function(id) {
$http.delete('/api/customer/' + id)
.success(function(data) {
$scope.customers.data = data;
})
.error(function(data) {
console.log('Error: ' + data);
});
};
}])
및
내가보기에 유지하고 데이터가해야하지만 페이지에 후속 방문이 더 이상 가져 오기를 실행 등을 가져옵니다 페이지를 다시로드하면.factory('Customers', function($http){
var Customers = {};
$http.get('/api/customer')
.success(function(data) {
Customers.data = data;
})
.error(function(data){
console.log('error: ' + data);
});
return Customers;
});
. 어떤 도움을 주시면 감사하겠습니다.
이 함수는 간단히'$ http.get ('/ api/customer'); return'로 단축 될 수 있습니다. 또한 질문은 "unwrapping 약속"을 시뮬레이션하려는 것, 즉 나중에 데이터로 채워지는 객체를 즉시 반환하려는 것 같습니다. (또 다른 옵션은 예를 보여 주겠다는 약속을 지키고'$ route' 설정으로 해결하는 것입니다.) – Mikke
고맙습니다. 문제가 해결되었습니다. 나는 약속을 읽을 필요가있다. 나는 아직 사용하지 않았다. 데이터가 사용 가능할 때까지 데이터 약속을 반환하는 것이 합리적입니다. 다시 한 번 감사드립니다! –