0

我正在开发一个 Angular JS 应用程序。我的身体背景必须根据我的服务器托管的图像每分钟改变一次。

在我的 HTML 中,我使用 ng-style 设置背景图片:

<body ng-controller="mainCTRL" ng-style="{backgroundImage: 'url(' + imageURL + ')'}">

在我的 mainCTRL 中,imageURL 设置如下:

$scope.urlImage = serverURL + '/Images/background.png';

它运行良好,但现在我需要刷新图像。托管图像每分钟更改一次,但始终托管在相同的 URL 上。为此,我在我的 JS 代码中有这个:

startRefresh();

function startRefresh() {
    $interval(test, );
}

test = function () {
    $scope.urlImage = '';
    $timeout(function () { 
        $scope.urlImage = serverURL + '/Images/background.png'; 
    }, 1000);
};

计时器工作,每分钟调用一次测试函数,但图像始终相同。

即使 URL 相同,我也想要一个更改图像的解决方案。

--

我是一个 javascript 初学者,对我的英语感到抱歉。谢谢

4

2 回答 2

2

尝试将 url 更改为:

var currentTime = new Date().getTime();
$scope.urlImage = serverURL + '/Images/background.png?' + currentTime;
于 2016-05-24T07:59:59.923 回答
0

在您的测试功能中尝试此更改:

test = function () {
    $scope.urlImage = '';
    $timeout(function () { 
        $scope.urlImage = ''; // add this line
        $scope.urlImage = serverURL + '/Images/background.png'; 
    }, 1000);
};

希望这对你有用.. :)

于 2016-05-24T07:57:15.547 回答