Vuejs проверяет нулевое или неопределенное значение в методе - PullRequest
0 голосов
/ 01 мая 2019

Я не понимаю, почему я не могу сделать

openAndFillModalSoin(soin)
        {
            this.show = true,   

            this.vDate = soin.date,
            this.vCategorie = soin.categoriesoin.name,
            //This can be null
            if(soin.rabaisraion){
                this.vReasonReduction = soin.rabaisraison.id;
            }

            this.vPaiement = soin.moyendepaiement.nam,
            this.vRefer = soin.referedBy,
            //This can be null aswell
            this.vGiftCard = soin.boncadeau.id,
            this.vVoucher = soin.bonreduction.id;

            this.vID = soin.id;
        },

"Если" части не работают, он запрашивает выражение.

If in method

Ответы [ 2 ]

1 голос
/ 01 мая 2019

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

1 голос
/ 01 мая 2019
if(soin.rabaisraion){
                this.vReasonReduction = soin.rabaisraison.id;
            }

Этот код будет работать, когда следующее НЕ ИСТИННО soin.rabaisraion - это число 0, false, null, undefined или пустая строка.

Повторюсь, строка «ложь», строка «0» и массив (пустой или нет) - все это правда.

Кроме того, если soin имеет значение null или не определено, это будет ошибкой во время выполнения.

Возможно, вы хотите это:

if(soin && soin.rabaisraion){
   this.vReasonReduction = soin.rabaisraison.id;
}

Независимо от того, добавьте журнал, прежде чем посмотреть, что происходит:

console.log('checking soin', soin)
console.log('checking boolean soin', !!soin)
if(soin && soin.rabaisraion){
   this.vReasonReduction = soin.rabaisraison.id;
}

'!!' заставит значение логическое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...