这是一种常见的情况,我们需要在用户更新/创建一些数据后向用户显示错误/成功消息,我们如何在 AngularJS 中实现它?
我想添加回调但找不到解决方案。使用 $http.post().success().error() 可以,但我想知道是否可以使用更高级别的 API $resource 来做到这一点。
或者,我们应该编写指令或使用 $watch()?
感谢您提前提供的帮助。
最佳答案
来自Resource类的操作可以传递成功和错误回调,就像较低级别的$http服务一样
- HTTP GET“类”操作:Resource.action([参数], [成功], [错误])
- 非 GET“类”操作:Resource.action([参数], postData, [成功], [错误])
非 get 操作以 $
为前缀。
所以你可以这样做
User.get({userId:123}, function(u, getResponseHeaders){
// this is get's success callback
u.abc = true;
u.$save(function(u, putResponseHeaders) {
// This is $save's success callback, invoke notification from here
});
});
<小时/>
编辑:这里是another example from a previous plunker 。 get 请求将失败,因为它请求不存在的 json 文件。将运行错误回调。
someResource.get(function(data){
console.log('success, got data: ', data);
}, function(err){
alert('request failed');
});
关于resources - 如何在 AngularJS 中添加 $resource 方法的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13852444/