Angularjs - несколько нг-повторов в одной и той же таблице для разных столбцов

0

У меня есть 3 массива, которые я хочу заполнить таблицей. Я хочу, чтобы эти значения в разных столбцах означали:

Column1(People)|     Column2(Animals)|     Column3(Letters)|

        -----  |              -----  |              -----  |
        -----  |              -----  |              -----  |
        -----  |              -----  |              -----  |
        -----  |              -----  |              -----  |

Хорошо, я мог бы сделать 3 стола и поставить их рядом, но я хотел знать, могу ли я сделать это так.

Как вы можете видеть, результат скрипки уродлив.

http://jsfiddle.net/9fR23/243/

  • 1
    измените структуру данных, чтобы у вас был один массив, и каждый объект имел все свойства (столбцы), которые вы хотите отобразить
  • 0
    Связаны ли 3 набора данных столбца? Если нет, используйте разные таблицы, если да, то делайте то, что сказал @Daniel_L
Показать ещё 1 комментарий
Теги:

1 ответ

1

Если у вас действительно нет выбора для обработки ваших данных в разных массивах, вы можете использовать $ index для достижения этого. (никогда не тестировалось, когда массивы имеют разную длину):

<tr ng-repeat="person in people">
        <td>{{ people[$index].first + ' ' + people[$index].last }}</td>
        <td>{{ animals[$index].first + ' ' + animals[$index].last }}</td>
        <td>{{ letters[$index].first + ' ' + letters[$index].last }}</td>
    </tr>

jsfiddle.net/9fR23/246

Или вы можете получить большую длину массива, как показано ниже:

<tr ng-repeat="i in getMaxLength()">...

И где-то в вашем контроллере:

$scope.getMaxLength = function() {
//....
return max;
}

В другом месте вы можете обращаться с ними в том же массиве, что и @Daniel. Это зависит от ваших данных.

  • 0
    Я изменил свою структуру данных. Я сделал массив с несколькими полями и поместил в него элементы из 3-х массивов, зациклив с максимальной длиной 3-х массивов
  • 0
    Если интересно: jsfiddle.net/9fR23/249

Ещё вопросы

Сообщество Overcoder
Наверх
Меню