Каков синтаксис угловой однократной привязки для нескольких свойств в ng-if

у меня есть

ng-if="dc.emailNotificationSchedule.progressInterval === dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN".

Что я хочу сделать, так это иметь однократные привязки для обеих переменных в ng-if. Но когда я пытаюсь использовать

ng-if="(::dc.emailNotificationSchedule.progressInterval) === (::dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)"

angular выдает следующую ошибку:

Ошибка: [$parse:syntax] Синтаксическая ошибка: Токен ':' не является первичным выражением в столбце 2 выражения [(::dc.emailNotificationSchedule.progressInterval) === (::dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)], начиная с
[::dc.emailNotificationSchedule.progressInterval) ===
(::dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)].

Каков правильный путь?


person Suren Aznauryan    schedule 16.02.2016    source источник


Ответы (2)


Попробуйте так:

ng-if="::(dc.emailNotificationSchedule.progressInterval === dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)"
person karaxuna    schedule 16.02.2016
comment
таким образом, он не будет работать должным образом, потому что, когда какое-либо из свойств становится стабильным, само выражение становится стабильным (ложь в этом случае, так как второй аргумент будет нулевым в это время), и наблюдатель для всего выражения будет удален . Следовательно, когда второе свойство становится стабильным, его значение не будет иметь никакого влияния на результат всего выражения. - person Suren Aznauryan; 16.02.2016
comment
Вы можете добавить dc.emailNotificationSchedule.progressInterval === undefined ? undefined : dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN === undefined ? undefined : ... - person karaxuna; 16.02.2016
comment
Да, но выражение становится слишком сложным, я думаю, должен быть более простой способ. - person Suren Aznauryan; 16.02.2016

это должно работать нормально:

ng-if="::dc.emailNotificationSchedule.progressInterval == dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN"

Вам не нужно двойное двоеточие дважды

person Przemek    schedule 16.02.2016
comment
я думаю, что двоеточие только перед первым свойством повлияет только на первое свойство. - person Suren Aznauryan; 16.02.2016