Задать вопрос
@microf

Разбивать данные на массив или нет?

Есть у меня json с сообщениями, которые характеризируются на "прочитанные" и "не прочитанные" - status1 или status2. Надо их вывести в представлении в соответствующих колонках. Можно сделать фильтр на странице, но мне кажется, что можно данные вытащить сервисом полностью и разбить их на два массива в контроллере, а потом уже вывести двумя ng-repeat. Вопрос 1 - правильно ли это? и второй - как лучше разбить объект на два, в зависимости от status?
[{
        "id": 1,
        "title":"message from admin",
        "name_message": "Message sent",
        "category": "qa",
        "status" : "1",
        "time": "15 min ago"
    },
    {
        "id": 2,
        "title":"message from QA",
        "name_message": "Need to paint",
        "category": "recommendation",
        "status" : "2",
        "time": "15 min ago"
    },
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
1. Лучше 2 ng-repeat и 2 массива, чем меньше выражений в шаблоне - тем меньше watcher'ов, тем больше производительность.

2. Можно с помощью Underscore, например. Как-то так:
$scope.array1 = _.filter(items, function(item){
    return item.status == 1;
});

$scope.array2 = _.filter(items, function(item){
    return item.status == 2;
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AlexXYZ
@AlexXYZ
O Keep Clear O
По-моему личному мнению, я бы не менял конфигурацию данных, которые получил от сервера. Лучше два ng-repeat-а. Кто знает, зачем вам в дальнейшем этот массив потребуется, а вы его уже распотрошили. )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы