$resource에 전달된 @id란 무엇입니까?
$resource("/entries/:id", {id: "@id"}, {update: {method: "PUT"}})
@id가 뭐죠?
$resource doc 페이지에서 다음과 같이 말하는 사람이 있습니다만, 저는 아직 잘 모르겠습니다.
파라미터 값 앞에 @가 붙으면 해당 파라미터 값이 데이터 객체에서 추출됩니다(GET 이외의 조작에 도움이 됩니다).여기서의 데이터 오브젝트는
postData
오브젝트(비 GET "class" 액션이 사용되는 경우) 또는 비 GET 인스턴스 액션이 사용되는 경우 인스턴스 자체(비 GET 인스턴스 액션이 사용되는 경우)입니다.
이 파라미터가 올바르게 이해된 경우, 그렇지 않을 수 있습니다.{id: @id}
는 url 변수에 데이터를 제공하는 또 다른 방법을 나타낸 것입니다.
이 방법을 지정하면:
var myResource = $resource("/posts/:theName",
{theName: '@petName'},
{enter : {
method: "POST",
isArray: false
}
});
투고하는 데이터에 「petName」속성이 있는 경우는, 그 속성의 값이 배치됩니다.:theName
변수입니다.투고 데이터가{"petType": "cat", "petName": "Spot"}
, url이 읽힙니다."/posts/Spot"
제 생각에는@
는, 투고 대상의 「상세」를 의미합니다.
를 제거하다@
url 변수는 해당 자원 파라미터의 값을 직접 참조합니다.
{theName: 'petName'} //no "@"
// url output ----> '/posts/petName'
.
참조 체인은 다음과 같습니다.
//url var--> //$resource param {..} --->//Object to be posted
:theName---> {theName ----> @petName ---> {petName---> "Spot"
url에 "Spot"을 넣는 데 5단계밖에 걸리지 않았습니다.
.
위의 예를 사용한 자원 인스턴스의 예:
var postData = new myResource();
postData.petType = "cat";
postData.petName = "Spot";
postData.$enter({}, function(data){
$scope.data = data;
})
// url to post to will be '/posts/Spot', postData object will be
// {"petType":"cat", "petName:"Spot"}
한편, 문서는 매우 혼란스러울 수 있습니다.당신은 어려운 수업을 들었고 교수님은 당신의 언어를 거의 구사하지 못하는 똑똑한 사람이었던 적이 있습니까?네.
var myResource = $resource("/entries/:theName",
{theName: '@petName'},
{update : {
method: "PUT",
isArray: false
}
});
언급URL : https://stackoverflow.com/questions/17559515/what-is-id-as-passed-to-resource
'source' 카테고리의 다른 글
AngularJS 왜 스코프가 필요하죠?$140 이내.$on? (0) | 2023.02.26 |
---|---|
약속의 가치에 접근하려면 어떻게 해야 하나요? (0) | 2023.02.26 |
echo woocommerce 특정 제품 ID 재고 수량 (0) | 2023.02.26 |
리액트 컴포넌트 내보내기가 작동하지 않는 이유는 무엇입니까? (0) | 2023.02.26 |
타이프스크립트 오류 "입력 파일을 덮어쓰게 되므로 파일을 쓸 수 없습니다..." (0) | 2023.02.26 |