#angularjs #angular-ui-router
#angularjs #angular-ui-router
Вопрос:
if ($scope.cnr.cnrIndicator) {
// If billing already initiated, disable. Else, enable (by default)
if ($scope.cnr.billingInitiatedInd === true) {
$scope.display.createCNR = false;
$scope.cnr.reason = $filter('formatTextAreaString')($scope.cnr.reason);
}
else if (_.isUndefined($scope.cnr.billingInitiatedInd)) {
$scope.display.createCNR = false;
$scope.cnr.reason = $filter('formatTextAreaString')($scope.cnr.reason);
}
}
Я должен проверить, $scope.cnr.billingInitiatedInd
не возвращает ли какое-либо значение.
Я использовал isUndefined
, но это, похоже, не работает.
Ответ №1:
если ожидается, что какое-либо значение не определено, вы можете проверить его с помощью !!!. Как это работает
let a = {b : 2}; //or null
console.log(!!!a.q)
//object a has no property q
//but it outputs true
Итак, в вашем случае вы можете проверить это следующим образом
if ($scope.cnr.cnrIndicator) {
// If billing already initiated, disable. Else, enable (by default)
if ($scope.cnr.billingInitiatedInd === true) {
$scope.display.createCNR = false;
$scope.cnr.reason = $filter('formatTextAreaString')($scope.cnr.reason);
}
else if (!!!$scope.cnr.billingInitiatedInd) {
$scope.display.createCNR = false;
$scope.cnr.reason = $filter('formatTextAreaString')($scope.cnr.reason);
}
}