【发布时间】:2013-05-06 08:08:22
【问题描述】:
我一直在尝试将值绑定到 img HTML 元素的 ng-src,但无济于事。
HTML 代码:
<div ng-controller='footerCtrl'>
<a href="#"><img ng-src="{{avatar_url}}"/></a>
</div>
AngularJS 代码:
app.controller('footerCtrl',function($scope, userServices)
{
$scope.avatar_url='';
$scope.$on('updateAvatar', function()
{$scope.avatar_url = userServices.getAvatar_url();}
);
}
app.factory('userServices', function($rootScope){
var avatar_url='';
return{ setAvatar_url: function(newAvatar_url)
{ avatar_url = newAvatar_url; $rootScope.$broadcast('updateAvatar');}}
);
我想在每次更新用户服务中的相应变量(avatar_url)时更新ng-src 中的avatar_url 变量。用户服务中的变量通过对服务器的 http.POST 请求进行更新。我检查了来自服务器的响应确实更新了用户服务中的变量,然后将其广播到 footerCtrl 中的 avatar_url 变量。
然而,图像元素 HTML 根本不反映这些变化。事实上,我也尝试过将 avatar_url 变量预设为我页面中一张图片的相对路径,图片仍然没有显示(ng-src 值为空)。 T
【问题讨论】:
-
在
userServices中你有一个setAvatar_url函数,而在控制器中你使用getAvatar_url函数。会不会是这个问题? -
嗨,很抱歉回复的延迟,也许小提琴jsfiddle.net/jiaming/DvNA9/1在解释代码时会更清楚。感谢您的宝贵时间。
-
你的 jsfiddle 充满了 bug...
-
我正在寻找 ng-src 属性以供使用,问题已经给了我答案,谢谢! :)
标签: angularjs