gpt4 book ai didi

javascript - 图像未在 Angular 中使用 ng-src 更新

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:19 26 4
gpt4 key购买 nike

在我的 Controller 中,我调用了一个服务。此服务向 PHP 文件发出请求,该文件为我提供图像的 URL。

这是因为图像位于“媒体库”中,这意味着我需要像这样生成一个散列 URL 才能查看它:

http://xxxx.vo.llnwd.net/o35/s/xxx/test/thumbs/slide1.jpg?e=1365006137&h=5852aeaf5beeeebff05a601801b61568

上面的 URL 已经过期,因此您不会从该特定链接看到任何内容。

我的图片标签是这样的:

<img id="thumbnail" class="glow" ng-src="{{currentThumb}}" width="200" height="150"/>

我的 Controller 中的 currentThumb 是:

$scope.currentThumb = ImageService.getImage({
'type' : 'thumb',
'index' : $scope.currentIndex + 1,
'location' : $scope.location
});

我的服务是这样的:

app.factory('ImageService', function($http)
{
var image = null;
return {
promise:null,
getImage: function($data)
{
this.promise = $http.post('resources/auth.php',$data, {timeout:20000}).success(function(response)
{
image = response;
log(response);
})
}
}
});

当前的 ImageService 成功返回一个 URL(至少它在控制台中显示了 url)并且在控制台中单击日志结果时,图像加载正常。图像不更新的任何原因?

最佳答案

我不确定您需要如何调用它,但另一种可能更好的方法是在 Controller 的解析 block 中调用 ImageService.getImage()。这样它就全部在 Controller 和 View 之前加载。

jsfiddle

http://jsfiddle.net/HYDmj/1/

查看

<div ng-app="main">
<div ng-controller="ExampleController">
<h1>currentThumb</h1>
<img ng-src="{{currentThumb.data}}">
</div>
</div>

代码

var app = angular.module('main',[]);

app.factory('ImageService', function($http)
{
image = null;
return {
getImage: function($data)
{
image = $http.post('http://dopserv1.dop.com/test/auth.php', $data, {timeout:20000})
return image
}
}
});

function ExampleController($scope, ImageService)
{
$scope.currentThumb = ImageService.getImage({
'type' : 'thumb',
'index' : 1,
'location' : 'http://digitalout.vo.llnwd.net/o35/s/mobilevforum/test/'
});
}

关于javascript - 图像未在 Angular 中使用 ng-src 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15793027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com