【问题标题】:Change Image when Page Refresh in angularJS在angularJS中刷新页面时更改图像
【发布时间】:2017-08-14 08:30:32
【问题描述】:

这是我学校面临的艰巨任务。我对 angularJs 完全陌生。我需要从数据库中检索到的所有图像中提取一张图像。然后当我刷新页面时,下一个图像要出现。

例如,当我刷新想要出现的“banner1.jpg”页面时,首先出现“banner.jpg”。谁能帮我解决这个问题。请。

这是我检索到的 Json

{
    "id": 1,
    "path": "Content/Banner/banner.jpg"
  },
  {
    "id": 2,
    "path": "Content/Banner/banner1.jpg"
  },
  {
    "id": 3,
    "path": "Content/Banner/banner2.jpg"
  },
  {
    "id": 4,
    "path": "Content/Banner/banner3.jpg"
  },

我的角度控制器。

appGM.controller('bannerCtrl', ['$scope', '$http', 'urls', function ($scope, $http, urls) {
var request = $http({
    method: 'GET',
    url: urls.api + 'Banner/Banners'

}).success(function (data, status) {

    console.log(data);
    console.log(JSON.stringify(data));
    console.log(JSON.parse(JSON.stringify(data)));

    $scope.BBanner = angular.fromJson(data);

})
 .error(function (error) {
     $scope.status = 'Unable to load dog images: ' + error.message;
     console.log($scope.status);
 });

这是我的 Html

<div class="row">
         <div class="col-sm-3 sidenav" ng-repeat="d in BBanner">
                        <img ng-src="{{d.path}}">
    </div>

【问题讨论】:

  • 使用 localstorage 存储图片的旧 id,然后比较并使用下一张图片
  • 谢谢你的评论兄弟。我是角度的新手。你能说一下怎么做吗?

标签: javascript jquery html angularjs


【解决方案1】:

您可以在第一时间使用localstorage来存储。刷新页面后,增加值并将其保存到相同的本地存储等。

多次运行 Demo 以查看 id 变化。

控制器

 if(!localStorage.getItem("uID")){
    var s = {"id":1};

    localStorage.setItem("uID", JSON.stringify(s))
  }
    $scope.data = [{
    "id": 1,
    "path": "Content/Banner/banner.jpg"
  },
  {
    "id": 2,
    "path": "Content/Banner/banner1.jpg"
  },
  {
    "id": 3,
    "path": "Content/Banner/banner2.jpg"
  },
  {
    "id": 4,
    "path": "Content/Banner/banner3.jpg"
  }]


 var item = localStorage.getItem("uID")
 item = JSON.parse(item);
 alert("Id = " + item.id)

 item.id = item.id +1  ;

 localStorage.setItem("uID", JSON.stringify(item))

 $scope.clear = function(){
   localStorage.removeItem("uID");
 }

更新

添加它以检查图像。再次查看演示

 var item = localStorage.getItem("uID")
 item = JSON.parse(item); 

 var obj = $scope.data.find(function(o){
   return o.id === item.id
 }) 
 // add this lines 
 $scope.image =(obj)? obj.path : "invalid id";
 if(item.id == 4){
    localStorage.removeItem("uIDs");
    item.id = 0;
 }
 item.id = item.id +1  ;

【讨论】:

  • +1 表示您对我的问题的第二条评论。不要误会我的兄弟是角度的新手。请告诉我如何在我的代码中使用它。我需要更改图像。
  • @Coderszone 技术人员再次查看演示
  • @Coderszone tech no prob bro :D
  • 不能在不清除本地存储的情况下再次循环 firstimage 吗?
  • 不点击清除按钮 //{localStorage.removeItem("uID");}//banner3.jpg 再次出现后,banner.jpg {1st image} 需要出现。这可能吗??
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多