2016-08-02 72 views
0

我有相册的AngularJs应用程序,在第一步骤i加载从服务器中的所有照片时,用户来到网站:如何使用AngularJS显示专辑中的所有照片?

logicOfMyApp.getPhotosFromServerFunc().then(function (photos) { 
    if (photos.length != 0) { 
     $scope.photosArray = photos; 
     console.log($scope.photosArray); 
    } 
}); 

在AlbumsPage.html我显示专辑的名称和封面:

<div class="col-md-3" ng-repeat="itm in albumsArray"> 
    <a ng-click="followToAlbum(itm.id)" href=""> {{itm.title}}</a><br /> 
    <img ng-src="../Files/{{itm.pathToCover}}" width="250px" height="160px" class="img-rounded" /> 
</div> 

点击专辑的标题后,我发送点击专辑的ID来followToAlbum(itm.id)方法从哪里获得的所有照片和重定向到相册页面:

$scope.followToAlbum = function (id) { 
    $scope.AllPhotosOfSingleAlbum = logicOfMyApp.getPhotoOfAlbumFunc($scope.photosArray, id); 
    console.log($scope.AllPhotosOfSingleAlbum); 
    $location.path('/albums/' + id); 
}; 

我通过ID获得专辑的所有照片,但它不dipslay。 enter image description here

我在空$ scope.AllPhotosOfSingleAlbum创建即时通讯我的控制器:

$scope.AllPhotosOfSingleAlbum = []; 

这里我的方法的源代码,在那里我得到专辑的照片:

getPhotoOfAlbumFunc: function (photosArray, albumIdRoute) { 
     var allPhotosOfAlbum = []; 
     for (var i = 0; i < photosArray.length; i++) { 
      if (photosArray[i].albumId == albumIdRoute) { 
       allPhotosOfAlbum.push(photosArray[i]); 
      } 
     } 

     return allPhotosOfAlbum; 
    } 

也许有人知道我如何解决它?谢谢你的回答!

+0

试图通过照片和推()他们入$范围创建$ scope.photosArray在你的控制器中的空数组首先然后在回调循环。 photosArray –

+0

@LazyCoder谢谢你的回答,哦,我忘记了..我完成了,我会编辑我的文章,并添加方法,我得到的照片。 –

回答

1

你只需要为照片定义一个新的ng-repeat。当AllPhotosOfSingleAlbum更改照片将被打开。

这些添加到您的html代码:

<div class="col-xs-12 photos-area"> 
    <div class="col-xs-4 photo-area" ng-repeat="photo_item in AllPhotosOfSingleAlbum"> 
     <img ng-src="../Files/{{photo_item.path}}" width="250px" height="160px" class="img-rounded" /> 
    </div> 
</div> 
+0

哦,我怎么可以改变数组?我尝试使用reverse()和$ scope.AllPhotosOfSingleAlbum [0] =“” - 但它没有帮助。主席先生,你有一个想法,我可以如何改变我的阵列? –

+0

@VladimirKhodakovskey followToAlbum()函数是否改变你的数组? – hurricane

+0

我想是的,http://pastebin.com/7cS6MuMV,我,米改阵。 –

相关问题