Angular js Asocciative array ng repeat

时间:2017-05-29 17:43:35

标签: angularjs arrays

我有一个绑定到$ scope对象的角度js数组。该数组是一个关联数组。简单的数组,我不知道如何在ng-repeat中遍历它。这是我的数组,我想得到子数组中第0个索引的每个文件的路径。我想得到

的文件/文件/ img1.bmp 下, 的的文件/文件1 / img1.jpg 下, 的的文件/文件2 / img1.jpg

$scope.im = [

 ["files/file/img1.bmp", "files/file/img2.jpg", "files/file/img3.jpg", "files/file/img4.jpg", "files/file/img5.jpg", "files/file/img6.jpg", "files/file/img7.jpg", "files/file/img8.jpg", "files/file/img9.jpg"],
 
 ["files/file1/img1.jpg", "files/file1/img2.jpg", "files/file1/img3.jpg", "files/file1/img4.jpg", "files/file1/img5.jpg", "files/file1/img6.jpg", "files/file1/img7.jpg", "files/file1/img8.jpg", "files/file1/img9.jpg"],
 
 ["files/file2/img1.jpg", "files/file2/img2.jpg", "files/file2/img3.jpg", "files/file2/img4.jpg", "files/file2/img5.jpg", "files/file2/img6.jpg", "files/file2/img7.jpg", "files/file2/img8.jpg", "files/file2/img9.jpg"]
            
];

5 个答案:

答案 0 :(得分:3)

不是真正的关联数组导致你的值没有键。

但是,如果要迭代数组,请使用以下代码:

import inspect

class Meta(type):
    def __repr__(self):
        # Inspiration: https://stackoverflow.com/a/6811020
        callerframerecord = inspect.stack()[1]  # 0 represents this line
        # 1 represents line at caller
        frame = callerframerecord[0]
        info = inspect.getframeinfo(frame)
        # print(info.filename)  # __FILE__     -> Test.py
        # print(info.function)  # __FUNCTION__ -> Main
        # print(info.lineno)  # __LINE__     -> 13
        return str(info.lineno)

class __LINE__(metaclass=Meta):
    pass

print(__LINE__)  # print for example 18

您将获得数组中每个项目的第一个元素。

答案 1 :(得分:2)

从这些嵌套数组中显示图像可能很简单,这是一个例子:

<div ng-repeat="childArray in im">
  <div ng-repeat="photos in childArray">
      <img src="{{items}}" alt="something" />
  </div>
</div>

答案 2 :(得分:1)

试试这个。正如@Priyesh Kumar所评论的那样你应该使用嵌套的ng-repeat

  <div ng-repeat="key in im"> 
     <div ng-repeat="value in key"> 
        {{value}}
      </div>
   </div>

答案 3 :(得分:0)

您可以按照docs中的描述迭代数组im并访问内部数组的第一个元素

<ul>
   <li ng-repeat="list in im">
       <!--- list now represents the inner array --->
       {{ list[0] }} <!-- write the first path -->
   </li>
</ul>

答案 4 :(得分:0)

如果您希望它适用于子数组的每个索引:

<div ng-repeat="(idx, value) in im[0]"> 
    <br>
    <div ng-repeat="file in im"> 
        <p>{{file[idx]}}</p>
    </div>
</div>

这将打印:

的文件/文件/ img1.bmp 文件/文件1 / img1.jpg 的文件/文件2 / img1.jpg

的文件/文件/ img2.jpg 文件/文件1 / img2.jpg 的文件/文件2 / img2.jpg

...