Список с ng-if в angular.js

Я пытаюсь использовать ng-if в angular.js. У меня есть json-файл:

"data":[{
   "status":"true",
   "name":"blabla",
   "group":true,
   "group_id":"123gr",
   "id":"xx1"
},{
   "status":"true",
   "name":"blabla2",
   "group":false,
   "id":"123gr",
   "group_id":"null"
}]

И из этого JSON я пытаюсь получить список всех групп (группа в JSON должна иметь значение true), а затем перечислить элементы группы. Итак, я хочу иметь список, который выглядит:

  • Group: blabla2.
    • Element 1: blabla. Status: true


Я попытался указать только имя группы.. таким образом:

<ul>
   <div ng-repeat="resp in response.data">
        <li ng-if="{{resp.group}} === 'false'">
          Group: {{resp.name}}
        </li>
    </div>
</ul>

К сожалению, это не работает. Ты хоть представляешь, что я сделал не так?

Спасибо за помощь,

Люк


person Luke    schedule 21.05.2015    source источник
comment
Выражение ng-if не нужно анализировать, а ваши свойства group являются логическими значениями, а не строками. Следовательно ~ ng-if="resp.group"   -  person Phil    schedule 21.05.2015
comment
К сожалению не работает..   -  person Luke    schedule 21.05.2015
comment
Обновлено, попробуйте сейчас. Я думал, ты хотел этого, когда resp.group было false   -  person Phil    schedule 21.05.2015
comment
К сожалению, я все еще получаю список с двумя элементами: blabla2 и blabla.   -  person Luke    schedule 21.05.2015
comment
попробуйте ng-if={{соотв.группа}}   -  person Vineet    schedule 21.05.2015
comment
Уже пробовал.. безрезультатно.   -  person Luke    schedule 21.05.2015
comment
@Vineet нет, не делай этого   -  person Phil    schedule 21.05.2015
comment
Ваш JSON имеет неверный формат и <div> не входит в <ul>   -  person Phil    schedule 21.05.2015
comment
Не могли бы вы уточнить, Фил? Или поделитесь любым URL, чтобы я мог узнать больше.   -  person Vineet    schedule 21.05.2015
comment
@Vineet см. первый комментарий.   -  person Phil    schedule 21.05.2015
comment
@Luke Не хватает запятой после "group":false во втором элементе данных   -  person Phil    schedule 21.05.2015
comment
Спасибо, Фил. позабочусь дальше   -  person Vineet    schedule 21.05.2015


Ответы (2)


Или вы можете полностью удалить их, если они вам не нужны, отфильтровав их из ng-repeat.

<ul>
    <li ng-repeat="resp in response.data | filter: {group: true}">
        Group: {{resp.name}}
    </li>
</ul>
person Dan Moldovan    schedule 21.05.2015
comment
Плохое место для <div>, просто поставьте ng-repeat на <li> - person Phil; 21.05.2015

Используйте так

<ul>
    <div ng-repeat="resp in response.data">
        <li ng-if="!resp.group">
            Group: {{resp.name}}
        </li>
    </div>
</ul>
person Community    schedule 21.05.2015