我正在尝试找出更新后更新模型的最佳方法。
所以,假设我有我的资源,我打电话进行更新,然后我尝试对成功函数进行另一次查询。我进入了成功函数,我的查询已成功完成,但我似乎无法弄清楚如何将查询结果返回到我的模型范围。也许我采取了错误的做法?
这是我的例子:
var myResource = new MyResource();
myResource.$update({
resourceId : resourceId
}, function (u) {
u.$query({
resourceId : resourceId
}, function (result){
$scope.mymodel = result;
})
});
所以在上面的例子中,我看到我的查询被成功调用了。但我似乎永远不会进入我的回调函数查询。但是,在更新是错误的路径之后,可能会使用此路由进行查询?如果我理解正确,更新(put)是异步的。因此,如果我想在更新后更新我的模型,我需要使用回调函数或其他方法吗?
答案 0 :(得分:0)
为什么在更新后需要进行查询?如果您的后端更加RESTful,则更新将使用更新的值进行响应。
然后你的代码就像这样:
var myResourceId = 123;
var myResource = new MyResource();
// get will instantly return an empty object. Angular will "hydrate" it when the
// response is returned, automagically.
$scope.mymodel = myResource.get({resourceId: myResourceId});
// Change something on the model
$scope.mymodel.someProperty = "monkeys";
$scope.mymodel.$update(); // Does a POST with the someProperty set to the new value