gpt4 book ai didi

angularjs - 传递给 $resource 的 @id 是什么?

转载 作者:行者123 更新时间:2023-12-02 20:05:42 25 4
gpt4 key购买 nike

$resource("/entries/:id", {id: "@id"}, {update: {method: "PUT"}})

@id 是什么?

在$资源doc page上下面有人说了,但我还是不明白。

If the parameter value is prefixed with @ then the value of that parameter is extracted from the data object (useful for non-GET operations)." The data object here refers to the postDataobject if non-GET "class" action is used, or the instance itself if non-GET instance action is used.

最佳答案

如果我理解正确的话,参数 {id: @id} 是向 url 变量提供数据的另一种方法的说明。

鉴于此方法:

var myResource = $resource("/posts/:theName", 
{theName: '@petName'},
{enter : {
method: "POST",
isArray: false
}
});

如果我发布的数据中有一个属性“petName”,则该属性的值将放置在我的网址中的 :theName 变量中。想象一下帖子数据是 {"petType": "cat", "petName": "Spot"},网址将读取 "/posts/Spot"。在我看来,@ 表示要发布的对象的“属性”。

去掉该值中的@,url变量将直接引用该资源参数中的值:

{theName: 'petName'} //no "@"
// url output ----> '/posts/petName'

.

这是引用链:

//url var--> //$resource param {..}  --->//Object to be posted
:theName---> {theName ----> @petName ---> {petName---> "Spot"

只需5步即可将“Spot”添加到url中!

.

使用上述示例的资源实例示例:

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"}

顺便说一句,这些文档可能非常令人困惑。你是否曾经上过一门很难的类(class),而教授是一位才华横溢的人,但他几乎不会说你的语言?是的。

关于angularjs - 传递给 $resource 的 @id 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17559515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com