离子警报 - 检查结果是否未定义

时间:2016-04-23 11:21:25

标签: javascript angularjs ionic-framework

我从具有角度和离子的服务器加载JSON文件。

这是我的代码:

$scope.showAlert = function(mo,di,mi,don,fr,sa,so) {
              $ionicPopup.alert({
                title: 'Success',
                content: mo + "<br>" + di + "<br>" + mi + "<br>" + don + "<br>" + fr + "<br>" + sa+ "<br>" + so
              }).then(function(res) {
                console.log('Test Alert Box');
              });
            };

对于项目:

<i class="icon ion-ios-clock-outline links" ng-click="showAlert(item.openingHours[0], item.openingHours[1], item.openingHours[2], item.openingHours[3],
  item.openingHours[4], item.openingHours[5], item.openingHours[6]
)"></i>

我的问题是有时结果,例如item.openingHours [6]是未定义的。我不希望警报中出现未定义的文本。如何检查警报中的值是否未定义?

1 个答案:

答案 0 :(得分:2)

使用条件(三元)运算符?来检查str是否已定义,如果已定义则返回值br,否则返回 - 空字符串:

$scope.showAlert = function(mo, di, mi, don, fr, sa, so) {
  function getStrWithBr(str) {
    return str ? str + '<br/>' : '';
  }
  var content = 
    getStrWithBr(mo) +
    getStrWithBr(di) + 
    getStrWithBr(mi) + 
    getStrWithBr(fr) + 
    getStrWithBr(sa) + 
    so || '';
 ...