Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Angular JS-数组中数字的重复图像标记_Jquery_Json_Angularjs_Angularjs Ng Repeat_Ng Repeat - Fatal编程技术网

Jquery Angular JS-数组中数字的重复图像标记

Jquery Angular JS-数组中数字的重复图像标记,jquery,json,angularjs,angularjs-ng-repeat,ng-repeat,Jquery,Json,Angularjs,Angularjs Ng Repeat,Ng Repeat,我正在修改我的问题,因为我以前无法得到正确的解决方案 我有一个数组乘积_page=[7,8,6,9,5,7,8,9,8,7] 每次根据json值重复下表的ng时,图像标记的注释为:请注意,此图像标记需要重复,第一次ng重复需要重复7次,第二次ng重复需要重复8次,第三次ng重复需要重复6次,依此类推 <table class="table table-bordered"> <tbody> <tr ng-repeat="user in user

我正在修改我的问题,因为我以前无法得到正确的解决方案

我有一个数组乘积_page=[7,8,6,9,5,7,8,9,8,7]

每次根据json值重复下表的ng时,图像标记的注释为:请注意,此图像标记需要重复,第一次ng重复需要重复7次,第二次ng重复需要重复8次,第三次ng重复需要重复6次,依此类推

<table class="table table-bordered">
    <tbody>
        <tr ng-repeat="user in users[0].tvseries | filter: searchText | filter: genre.config | orderBy:predicate">
            <td>
                <img ng-src="{{user.thumbnail}}" alt="" />
            </td>
            <td>
                <div>{{user.tv_show_name}}</div>
                <div>{{user.brief_description}}</div>
                <div>Rating:
                <!--Please note this image tag needs to be repeated-->
                <img ng-repeat="rate in getNumber(products_page[$index]) track by $index" src="img/star.png" width="15" height="15" />
                <!--Please note this image tag needs to be repeated-->
                {{user.rating}}</div>
            </td>
            <td>
                <div>SHOW TIME:{{user.show_time}}</div>
                <div>GENRE:{{user.genre}}</div>
                <div>SEASON:{{user.current_season}}</div>
                <div>EPISODE:{{user.current_episode}}</div>
            </td>
        </tr>
    </tbody>
</table>

有什么办法可以做到这一点吗?

如果我有你的问题,你可以在child ng repeat中使用$index of parent

在html中:

<ul>
<li ng-repeat="i in getNumber(myNumber)">
        <ul>
            <li ng-repeat="j in getNumber($index+1)"> <span>{{$index+1}}</span>

            </li>
        </ul>
    </li>
</ul>

如果我没弄错的话,你是在尝试重复一定次数的星星图像来显示等级,比如10颗星中有7颗星

如果是这样的话: ng repeatonly适用于数组,这意味着您不能直接在数字7上迭代以将图像重复7次7,这只是products_页面中某个条目的示例

必须将每个条目转换为具有正确长度的数组,一种方法是使用筛选器:

app.filter('range', function () {
  return function range (count) {
    var i = 0,
      temp = [];
    count = Number(count) || 0;
    for (i; i<count; i++) {
      temp.push(i);
    }
    return temp;
  };
});
并在标记中这样使用它

更好的方法是,将此逻辑抽象为除筛选器之外的可重用指令,或者将筛选器逻辑添加到指令的链接函数中,只要最适合您:

app.directive('rating', function () {
  return {
    restrict: 'AE',
    scope: {
      value : '='
    },
    template: '<img src="img/star.png" width="15" height="15" ng-repeat="rate in (value | range)" />'
  };
});
像这样使用它


请参见此处的工作、修剪示例:

它正在工作。。只要用一个真实的数字来更改myNumber:嗨,Lorenzo,我希望这个数字来自我的json。上面提到的变量$scope.products_页面包含来自我的json的评级数组。但是我的图像标签似乎没有被重复。那么getNumber函数中的num参数是什么。。从来没用过…嗨,洛伦佐,对不起,那是我的错。它应该是getNumberuser.rating,我说过,{{user.rating}}有图像标签需要重复的确切次数。我还修改了控制器以返回一个{{user.rating}数组。但是我仍然没有得到重复的图像:我发布的小提琴只是我在浏览解决方案时得到的一个参考。如果{user.rating}有项目数,那么只需在user.ratingHi Abraham中执行ng repeat=rate,我不会尝试嵌套ng repeat。我只想重复n次图像标签。n只注意{{user.rating}