Оценка числа 1 с использованием === не то же самое для числа 0 в правилах класса ячеек

Проблемы с применением правил класса ячеек к Ag-Grid в Angular с использованием машинописного текста.

Я создал правила класса ячеек следующим образом:

'style-class-1': function(params) { return params.value === 1}
'style-class-0': function(params) { return params.value === 0}

style-class-1 применяется, когда params.value равен 1

style-class-0 не применяется, когда значение params равно 0

воспроизведите вашу проблему на plunk или stackblitz, чтобы другие могли легко вам помочь

Paritosh 12.04.2019 16:10

Это устранено с помощью следующего обходного пути: paramas.value = ''+index ; Далее следует: return params.value === '0';

Max CodeSmith 13.04.2019 21:04
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
2
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Единственная причина, по которой это не сработает, заключается в том, что params.value может быть строкой (или чем-то другим, кроме int), в то время как вы строго сравниваете его с целым числом. Чтобы обойти это, вы можете сделать одно из следующего.

Сравните его со строкой

params.value === '0'

Или проанализируйте params.value как целое число

parseInt(params.value) === 0

Или используйте == вместо ===, что приведет к тому, что javascript преобразует значения в тот же тип.

 params.value == 0

Другие вопросы по теме