нг-шоу не может проверить пустую или пустую строку - PullRequest
0 голосов
/ 13 марта 2019

Пытаюсь показать элемент html на основе условия. Как я должен проверить, claim.claimToDealerCurrencyExchangeRate пусто или равно нулю. Если это empty или null, я не хочу отображать элемент (метку и диапазон).

Но это не работает, как ожидалось. Элементы меток и интервалов видны даже claim.claimToDealerCurrencyExchangeRate пусто.

Пожалуйста, найдите мой код ниже.

 <div id="exchange" ng-if="hasClaimGrouping('customerInvoiceOrRepairDate')" 
      ng-show="claim.claimToDealerCurrencyExchangeRate == null"
      class="form-group row">
    <label class="col-lg-3">{{'claim.view.exchangeRateApplied'|translate}}
    </label>
    <span>{{claim.claimToDealerCurrencyExchangeRate}}</span>
 </div>

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

В вашем коде есть ng-show = "demand.claimToDealerCurrencyExchangeRate == null", что означает, что div будет виден, когда Claim.claimToDealerCurrencyExchangeRate имеет значение null. Согласно вашему запросу, ваша логика неверна. Используйте ng-hide = "demand.claimToDealerCurrencyExchangeRate == null" или ng-show = "demand.claimToDealerCurrencyExchangeRate! = Null". Но так как вы уже используете ng-if, вам следует объединить все условия внутри него, если только вы не хотите, чтобы элемент DOM переключался между видимостью и невидимостью несколько раз и не повторялся каждый раз, используйте комбинацию нг-если и нг-шоу. Кроме того, понимать пустой и нуль - две разные вещи в JavaScript. Например, если значение является переменной. Тогда значение = "" пусто, но не равно нулю. value = "null" - это не null, а непустая строка. Установите значение = ноль явно, тогда это ноль. И во всех случаях значение не является неопределенным. Проверьте, что именно утверждается. ClaimToDealerCurrencyExchangeRate, и определите свою логику в ng-show соответствующим образом.

0 голосов
/ 13 марта 2019

Есть ли причина, по которой вы используете и ng-if, и ng-show? Я думаю, что одного из них должно быть достаточно. Директива ngIf удаляет или воссоздает часть дерева DOM на основе выражения. Если выражение, присвоенное ngIf, принимает значение false, то элемент удаляется из DOM, в противном случае клон элемента повторно вставляется в DOM.

...