如何在AngularJS中等待状态更改
How to wait for state change in AngularJS?
使用Angular 1.2.3,我有一个这样的服务:
var itemService = function ($resource) {
return $resource('/rest/item', {action: ''}, {
query: {method: 'GET'}
});
};
services.factory('Item', ['$resource', itemService]);
在我的控制器中,我想保存一个项目,所以我做
$scope.item = Item.query(); // this returns 1 item
$scope.puppet.$save(); // this results in the desired POST on my service
POST处理程序生成一个可能需要一段时间的图像。我知道$save调用会立即返回,因为该调用是异步的。POST处理程序一完成,就会返回一个具有布尔计算值done=true的Item,这反映在$scope中。
<div ng-show="item.calculationsDone"><img ng-src="{{src/of/image.jpg}}"/></div>
现在我想显示生成的图像。我正在使用上面的html。我已经知道生成的图像的URL,但我不能把它放在ng-src中,因为它还没有解析。
一旦Item的状态发生变化,我如何更新或重新应用ng-src?
我需要用承诺吗?还是$watch?
这样的东西怎么样?
$scope.imageSrc = "";
scope.puppet.$save(function(value, responseHeaders) {
$scope.imageSrc = "src/of/image.jpg";
})
<img ng-src="{{imageSrc}}"/>
我想另一个选项是图像元素的ng-if="item.caculationsDone"。一旦表达式求值为true,img元素就会附加到DOM。在此之前,它不是DOM的一部分->图像也不会被加载。
相关文章:
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- spring和angularJS(我得到了类似HTTP状态404的错误)
- AngularJS&Google可视化-使用状态更改处理程序(Google API)在HTML页面上查看$sco
- AngularJS-状态更改时停止自动刷新页面
- AngularJS$http重定向状态代码
- AngularJS UI路由器未进入默认状态
- AngularJS在.run中等待Resource
- angularjs-ui路由器父状态,参数加载在子状态之后
- 如何在AngularJS中等待状态更改
- 等待发出 AngularJS HTTP 请求
- 在更改状态 AngularJS 时删除函数
- 保存$location参数状态AngularJS
- 通过单状态AngularJS加载页面
- 注入另一个(父)控制器逻辑到派生状态(angularjs ui-router)
- MVC3 -文件下载-等待状态指示灯
- 如何使用jquery检测我的浏览器繁忙或等待状态
- 当get时,我该如何等待?完成AngularJS / Karma单元测试框架的使用
- 如果并发调用请求仍在加载数据,如何等待async angularJS调用完成
- Js Opentok (Tokbox) 显示等待状态
- 使用智能表在视图状态 AngularJs 之间持久化数据