AngularJS镜像多个请求
AngularJS Images multiple Requests
我目前正在开发一个AngularJS应用。
一切正常,除了加载图片。
我在我的视图中使用了以下调用:
<img ng-src="img/views/portrait/{{employee.lastName|lowercase}}.jpg" title="{{employee.lastName}}"/>
现在奇怪的是,有2个请求被触发:
http://localhost:8080/MyContext/content/img/views/portrait/.jpg
和
http://localhost:8080/MyContext/content/img/views/portrait/example.jpg
第一个employee.lastName的值为空。我不能解释自己为什么会发生这种情况,虽然我使用ng-src指令。
任何想法?
提前感谢您的支持。
My Resource Code
var employeeService = $resource('/MyContext/rest/employees/:employeeId', {}, {});
employeeService.findById = function(id) {
return employeeService.get({employeeId:id});
};
控制器中的我调用:
$scope.employees = EmployeeService.findAll();
是否使用$resource服务加载员工数据?如果是这样,$resource服务将首先返回一个空对象来解释第一个请求。一旦接收到来自服务器的数据,该数据将被复制到先前的空对象中,并触发对绑定值的更新。在您的示例中,这将是img的ng-src,它将触发第二个请求。
如果你不想使用$http的成功回调,你可以在employee上添加一个监视器。姓:
首先在控制器中选择一个默认图片:
$scope.defaultPicture = '/MyContext/content/img/views/portrait/default.jpg'
在你的视图中使用它:
<img ng-src="{{ defaultPicture }}" title="{{ employee.lastName }}"/>
然后在员工上添加一个观察者。姓:
$scope.$watch('employee.lastName', function(lastName) {
if (lastName) {
$scope.defaultPicture = '/MyContext/content/img/views/portrait/'+lastName+'.jpg;
}
});
完成后,将调用获取默认图片,该图片将被浏览器缓存,当资源employeeService准备好时,图像将自动更改。
我刚在我的项目中做过。
相关文章:
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- Markdown模式代码镜像正在创建
- 更改代码镜像中TextArea的高度和宽度
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- 什么CSS/JS技巧驱动镜像反转http://com.google愚人节页面
- jquery使2组单选按钮相互镜像
- Nodejs使用httpdispatcher提供静态镜像
- HTML5相机缓冲和延迟(延迟镜像)
- jQuery插件在本地主机上运行良好,但在web服务器上却与bg镜像混淆
- 镜像滚动效果打开.在两个容器之间单击
- 代码镜像批量更改
- 如何在代码镜像编辑器中设置隐藏值
- Selenium-使用换行符将文件写入代码镜像
- 默认情况下在代码镜像中启动全屏
- 如何在代码镜像编辑器中设置不同的维度
- 将变量中的文本放入代码镜像文本区域
- 多种模式代码镜像
- 如何在 Angular2 组件中访问代码镜像文本区域值
- 如何使用 NPM 镜像
- AngularJS镜像多个请求