私がこれを正しく理解していれば、そうでないかもしれませんが、パラメーター{id: @id}
は、url 変数にデータを提供する別の方法を示しています。
この方法を考えると:
var myResource = $resource("/posts/:theName",
{theName: '@petName'},
{enter : {
method: "POST",
isArray: false
}
});
投稿するデータに属性「petName」がある場合、その属性の値は:theName
私の URL の変数に配置されます。投稿データが{"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"
「Spot」を URL に入れるのに 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"}
余談ですが、ドキュメントは非常に混乱する可能性があります。難しいコースを受講したことがありますが、教授はあなたの言語をほとんど話せない優秀な人でしたか? うん。