簡體   English   中英

AngularJS問題$ http.get未加載圖像

[英]Angularjs issue $http.get not loading image

我正在嘗試創建一個使用圖庫的離子應用程序。 我不確定為什么我的圖像沒有被加載到應用程序中。

我正在嘗試開發的是一個畫廊,該畫廊從JSON文件加載圖像。

這是我的HTML

<ion-view view-title="Gallery" align-title="center">

<ion-content ng-controller="photoCtrl" ng-init="getImages()">
    <div class="row" ng-repeat="image in images" ng-if="$index % 4 === 0">
        <div class="col col-25" ng-if="$index < images.length">
            <img ng-src="{{data.images[$index].src}}" width="100%" />
        </div>
        <div class="col col-25" ng-if="$index + 1 < images.length">
            <img ng-src="{{data.images[$index + 1].src}}" width="100%" />
        </div>
        <div class="col col-25" ng-if="$index + 2 < images.length">
            <img ng-src="{{data.images[$index + 2].src}}" width="100%" />
        </div>
        <div class="col col-25" ng-if="$index + 3 < images.length">
            <img ng-src="{{data.images[$index + 3].src}}" width="100%" />
        </div>
    </div>
</ion-content>
</ion-view>

Javascript:

.controller("photoCtrl", function($scope, $http) {

    $scope.images = [];

    $scope.getImages = function() {
        $http.get('https://api.myjson.com/bins/30vuu')
            .success(function(data) {
                $scope.data = images;
            })
    }

});

我還創建了一個Codepen: http ://codepen.io/beefman/pen/eNMgzG

JSON API返回一個關聯數組(鍵值對),如下所示:

{"images":"http://mintywhite.com/wp-content/uploads/2012/10/fond-ecran-wallpaper-image-arriere-plan-hd-29-HD.jpg"}

但是您的模板代碼需要一個數組(列表):

data.images[$index].src

因此,我首先將JSON與模板所需的格式進行匹配。

編輯:這是可以符合您模板期望的JSON格式:

{'images': [{'src': 'url1'}, {'src': 'url2'}]}

另外,請確保在回調中正確設置images變量

$scope.images = data.images

現在$ scope.images是鍵值對的列表

使用ng-repeat可以顯示圖像,如下所示:

<div ng-repeat="image in images">
  <img ng-src="image.src" />
</div>

您的控制器應該像這樣

.controller("photoCtrl", function($scope, $http) {

    $scope.images = [];

    $scope.getImages = function() {
        $http.get('https://api.myjson.com/bins/30vuu')
            .success(function(data) {
                $scope.images = data;
            })
    }

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM