source

$resource에 전달된 @id란 무엇입니까?

ittop 2023. 2. 26. 10:31
반응형

$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

반응형