Сокращение для назначения переменной на основе выражения OR

1

Есть ли сокращение для присваивания переменной выражению OR? Например, у меня есть кнопка в моем пользовательском интерфейсе, которая отключена в зависимости от состояния некоторых переменных.

this.disableButton = data && data.items.length < 2 && pending;

У меня также есть флажок, который определяет, будет ли указанная кнопка отключена или включена.

Таким образом, кнопка, наконец, отключена/включена на основе выражения, которое выглядит так:

this.disableButton = this.disableButton || !checked

И на моем шаблоне у меня есть что-то вроде:

<component [class.disabled]="disableButton"></component>

Мне было просто любопытно, есть ли способ сократить синтаксис вышеупомянутого выражения. Что-то вроде:

this.disableButton ||= !checked

Спасибо

  • 0
    Вы можете использовать <component [class.disabled]="disableButton || !checked"></component> и избегать комбинирования disableButton и checked . Что касается оператора, см. Этот вопрос .
Теги:
angular
logical-operators

1 ответ

2
Лучший ответ

Было бы проще сразу назначить disableButton а не сначала назначить промежуточное значение для результата, а затем переназначить позже - это запутывает. Потому что checked самостоятельно может определить результат, будет ясно, если вы сначала изучите его:

this.disableButton = !checked || (data && data.items.length < 2 && pending);

Ещё вопросы

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