2016-09-06 3 views
-1

У меня есть угловое выражение {{ userInfo.activities.ids }}, это массив, который я отправляю в угловое через php.
Теперь мне нужно проверить значение в этом массиве,
Я использую это: -ng - если не так, как ожидалось

[[userInfo.activities.ids.indexOf(1) != -1]] и Он возвращает истину или ложь.
Я хотел применить ng-if на основе его стоимости. Поэтому я писал:

<input ng-if="{{userInfo.activities.ids.indexOf(1) != -1}} == true" checked type="checkbox"> 
<input ng-if="{{userInfo.activities.ids.indexOf(1) == -1}} == true" type="checkbox"> 

Но ng-if не проверяя состояние и, следовательно, не получает отображается ни один из входных данных.

Пожалуйста, предложите, какой метод я могу использовать вместо этого?
Для выделения моего шаблона из углового выражения я использовал интерполяции [[]].
Я использую угловой вместе с laravel 5.2 php.

ответ

1

Снимайте брекеты в состоянии ng-if,

Если вы используете переменную область видимости в угловых моделях, такие как ng-if, ng-model, ng-class и т.д., нет необходимости использовать интерполяцию (фигурные скобки).

Кроме того, как ваше выражение истинным или ложным, то не нужно снова проверить состояние == true

<input ng-if="((userInfo.activities.ids.indexOf(1)) != -1)" checked type="checkbox"> 
<input ng-if="((userInfo.activities.ids.indexOf(1)) == -1)" type="checkbox"> 

Here is a reference

+0

Позвольте мне реализовать и проверить решение. Спасибо @Sravan. – Simer

+0

Его работы. Благодаря!! Он также работал, когда я применил ng-if = "{{userInfo.activities.ids.indexOf (1)! = -1}} == 'true'". т.е. когда я верю/false в кавычки. Благодарю за помощь. – Simer

+0

Это худшие условия, которые я видел в своей 2-летней карьере в качестве разработчика интерфейса. Используйте проверки моего ответа – CodeNashor

3

Пожалуйста, проверьте массив как это:

<input ng-if="userInfo.activities.ids[0] === -1" type="checkbox"> // if the value is a number 
<input ng-if="userInfo.activities.ids[0] === '-1'" type="checkbox"> // it its a string 
<input ng-if="userInfo.activities.ids.length === 0'" type="checkbox"> // if its empty 

Идентичность (===) оператор ведет себя идентично оператору равенства (==), за исключением без преобразования типа сделано, и типы должны быть одинаковыми считаться равными. Всегда используйте === или! ==

+0

Я должен проверить индекс 1,2,3 и так в моем массиве и на основании этого я должен подать заявку. Как объясняется в вопросе. Спасибо за помощь @codeNashor. – Simer

Смежные вопросы