在指令模板字符串中用于字符串连接的有效ng-src语法

时间:2015-09-22 17:32:59

标签: angularjs angularjs-directive

我在图像标记中有一个ng-src属性,该属性从指令的模板属性加载为字符串,该指令应该加载用户选择的图像。但是,当页面加载时,控制台输出404,因为没有选择图像并且ng-src正在加载空图像。我现在拥有的是这个

"<img  ng-src="myserver.com/{{imagesPath+ selectedImage}}"></img>"

但只要selectedImage为空字符串,我就会收到空请求。

我尝试将其更改为

"<img class='snapshot' ng-src='{{selectedImage.length? \'myserver.com\' + imagesPath +selectedImage : \'\' }}'></img>"

这不起作用。什么是正确的语法?

2 个答案:

答案 0 :(得分:7)

我有同样的问题,使用ng-if解决了它(谢谢!!)。虽然我不得不改变字符串在ng-src中连接的方式:

ng-src="{{'myserver.com/'+ imagesPath}}"

答案 1 :(得分:0)

您应该检查selectedImage.length> 0,这样每当找到所选图片时,它都会创建src路径

"<img class='snapshot' ng-src='{{selectedImage.length> 0 ? \'myserver.com\' + imagesPath +selectedImage : \'\' }}'/>"

更好的方法是在没有使用img指令的图像时隐藏来自html的ng-if标记。

"<img ng-if="selectedImage.length > 0" ng-src="myserver.com/{{imagesPath+ selectedImage}}"/>"