2017-01-05 3 views
0

Я работаю над Angularjs. Мне нужно показать всплывающее окно уведомления только один раз, но мое всплывающее окно отображается несколько раз, когда я вводим значения в текстовое поле.Как показывать уведомление только один раз в Angular.js?

Вот мой фрагмент кода.

$scope.AmountAddition = function() { 
       var contributionAmt = $scope.search_form.amount; 
       $scope.search_form.paymentBasic.totalContributionAmountCollected = $scope.search_form.amount; 
       if(contributionAmt >= 50000) 
       { 
        notificationFactory.info("Kindly enter Pancard number"); 
       } 
      } 

Как показать всплывающее окно только один раз, когда я ввожу сумму более 50000?

ответ

1

Вы можете добавить флаг $scope.isFirstTime в начале controller и установить его после того, как вы покажете на уведомление

if(contributionAmt >= 50000 && $scope.isFirstTime) 
{ 
    notificationFactory.info("Kindly enter Pancard number"); 
    $scope.isFirstTime = false; 
} 
+1

Спасибо теперь работает –

0

Использование булева переменная знать, если всплывающее окно было openned раз:

$scope.alreadyOpenned = false; 

$scope.AmountAddition = function() { 
    var contributionAmt = $scope.search_form.amount; 
    $scope.search_form.paymentBasic.totalContributionAmountCollected = $scope.search_form.amount; 
    if(contributionAmt >= 50000 && !$scope.alreadyOpenned) { 
     $scope.alreadyOpenned = true; 
     notificationFactory.info("Kindly enter Pancard number"); 
    } 
} 
0

Вы можете использовать это.

$scope.isOpenned = false;  
$scope.AmountAddition = function() { 
    var contributionAmt = $scope.search_form.amount; 
    $scope.search_form.paymentBasic.totalContributionAmountCollected = $scope.search_form.amount; 
    if(contributionAmt >= 50000 && !$scope.alreadyOpenned) {   
     notificationFactory.info("Kindly enter Pancard number"); 
     $scope.isOpenned = true; 
    } 
} 

Но ваше значение выше 50000, В первый раз будет отображаться всплывающее окно. В следующий раз, когда вы дадите 40000 и снова получите выше 50000, всплывающее окно не будет отображаться.

Если и нужно выше сценария вы можете использовать, если еще ..

if(contributionAmt >= 50000 && !$scope.alreadyOpenned) {   
      notificationFactory.info("Kindly enter Pancard number"); 
      $scope.isOpenned = true; 
     }else{ 
$scope.isOpenned = false; 
} 
Смежные вопросы