如何使用离子弹出中的条件

时间:2017-09-13 06:18:21

标签: angularjs ionic-framework ionic-v1

我创建了一个常用的Popup屏幕,它在三个模块中使用但三个模块有不同的标题。我没有给出标题中的条件,是否有可能给我解决方案。

弹出代码:

function showPopup () {
  $scope.data = {};
  var myPopup = $ionicPopup.show({
    template: '<input focus-me type="text" ng-model="data.expensetype" limit-char limit="15">',
    if (vm.usertype === 'Worker') {
      title: $translate.instant('{{"wtype_message" | translate}}'),
    }
    else if (vm.usertype === 'Buyer') {
      title: $translate.instant('{{"btype_message" | translate}}'),
    }
    else if (vm.usertype === 'Expense') {
      title: $translate.instant('{{"etype_message" | translate}}'),
    }
    scope: $scope,
    buttons: [
     { text: $translate.instant('{{"pcancel_message" | translate}}') },
      {
        text: $translate.instant('{{"psave_message" | translate}}'),
        type: 'button-positive',
        onTap: function (e) {
          if (!$scope.data.expensetype) {
            e.preventDefault();
          } else {
            addExpenseCategory();
            return $scope.data.expensetype;
          }
        }
      },
    ]
  });
  myPopup.then(function (res) {
    $log.log('Tapped!', res);
  });
}

1 个答案:

答案 0 :(得分:1)

试试这个:

var categorytitle = '';
  $log.log('vm.usertype', vm.usertype);
  switch (vm.usertype) {
    case 'Farmer':
      categorytitle = 'Enter coconut type';
      break;
    case 'Worker':
      categorytitle = $translate.instant('{{"venterworktype_message" | translate}}');
      break;
    case 'Buyer':
      categorytitle = $translate.instant('{{"venterproduct_message" | translate}}');
      break;
    case 'Group':
      categorytitle = $translate.instant('{{"wtype_message" | translate}}');
      break;
    case 'Expense':
      categorytitle = $translate.instant('{{"newexpensetype_message" | translate}}');
      break;
  }
  var myPopup = $ionicPopup.show({
    template: '<input focus-me type="text" ng-model="data.expensetype" limit-char limit="15">',
    //title: $translate.instant('{{"penterexpensetype_message" | translate}}'),
    title: categorytitle,
    scope: $scope,
    buttons: [
     { text: $translate.instant('{{"pcancel_message" | translate}}') },
      {
        text: $translate.instant('{{"psave_message" | translate}}'),
        type: 'button-positive',
        onTap: function (e) {
          if (!$scope.data.expensetype) {
            //don't allow the user to close unless he enters producttype
            e.preventDefault();

          } else {
            addExpenseCategory();
            return $scope.data.expensetype;
          }
        }
      },
    ]
  });
  myPopup.then(function (res) {
    $log.log('Tapped!', res);
  });