를 만들기 위해 $ 자원 데이터를 사용하여 : 위의 코드는 다음 서버에서 CreditCard
의 배열을 얻을 수있는 GET 요청을 사용하고각 문서에서 빠른 API 호출
var cards = CreditCard.query(function() {
// GET: /user/123/card
// server returns: [ {id:456, number:'1234', name:'Smith'} ];
var card = cards[0];
// each item is an instance of CreditCard
expect(card instanceof CreditCard).toEqual(true);
card.name = "J. Smith";
// non GET methods are mapped onto the instances
card.$save();
// POST: /user/123/card/456 {id:456, number:'1234', name:'J. Smith'}
// server returns: {id:456, number:'1234', name: 'J. Smith'};
// our custom method is mapped as well.
card.$charge({amount:9.99});
// POST: /user/123/card/456?amount=9.99&charge=true {id:456, number:'1234', name:'J. Smith'}
});
는 $save()
또는 같은 $ 자원 클래스의 방법을 사용 $delete()
을 사용하면 API 호출을 자동으로 서버에 다시 보낼 수 있습니다. 그러나, 나는 두 가지 문제
문제 1
cards
변수가 서버에서 배열을 어떻게 든 각 card in cards
가 $resource
처럼 취급 및 API 호출을 위의 방법을 사용할 수 있습니다 기대로 실행하고 있습니다. 그러나 우리의 API 응답은 형식의 항상 :
{
success: true,
error: null,
status: 1,
result: [] // THIS IS THE ACTUAL RESULT
}
경우 결과는 실제 데이터, 또는이 케이스 cards
배열. card.$save()
문제 같은 것을 실행하는 경우에 가능하다 (그리고 어쩌면이 이미 자동으로 지원됩니다) 따라서, 우리의 API 응답을 사용하여 동일한 코드를 실행하는 2
내가 궁금 올바른 데이터를 게시 할 것 호출 후에 생성 된 객체와 똑같이 처리 된 ng-repeat
을 사용하여 DOM에 바인딩 된 객체를 가져야합니다.
예를 들어, 동일한 CreditCards.query()
API 호출을 사용하여 카드 배열을 가져온 다음 컨트롤러의 $scope.cards
변수로 설정한다고 가정 해 보겠습니다. 그럼 모든 카드를 표시 내 DOM에 ng-repeat="card in cards"
있습니다. DOM을 각 card
에 나는 또한 요청
그래서 몸으로 특정 카드를 사용하여 서버에 삭제 요청을 $scope.cards
배열 에서 해당 카드를 삭제할 것 ng-click="deleteCard(card)"
을 첨부 할뿐만 아니라 보내려 deleteCard()
기능은 잠재적으로 같을 것이다 :
$scope.deleteCard = function(card) {
// REMOVE card from the local array
var index = $scope.cards.indexOf(card);
if (index > -1) {
array.splice(index, 1);
}
// REMOVE card from the SERVER
card.$delete() // Will this work?
}
우리에게 사용할 수있는이 기능인가? 내 생각 엔이