12

Potrebbe dirmi perché gli avvisi vengono visualizzati due volte quando si fa clic sul pulsante?Perché l'avviso viene visualizzato due volte con il clic del pulsante?

qui è la mia plunker http://plnkr.co/edit/vtmYAG2d1gmnPjnxovJw?p=preview

/*global define, console */ 

define(['app'], function(app){ 
    'use strict'; 

    app.controller('LoginCtrl', ['$scope', function($scope) { 
     $scope.login = function() { 
      alert("Login is clicked") 
     }; 

    }]); 

}); 
+0

Questo è strano. Sembra lanciare il ng-click sia su mouse che su mouse - se si fa clic sul pulsante tenendo premuto il mouse, spostare il mouse lontano dal pulsante e rilasciare il clic, ma si attiva solo un clic. – Fissio

+0

quindi cosa c'è di meglio ... c'è qualche possibilità che io stia usando Ionic con js potrebbe essere il motivo per cui funziona così – user944513

+0

possiamo usare requirejs con framework ionico – user944513

risposta

0

Problema risolto: è stata utilizzata la versione minificata obsoleta di ionica e requirejs non minified.

basta cambiare la versione ionica a - http://code.ionicframework.com/1.0.0/js/ionic.bundle.js

e requireJs a RequireJS 2.1.17

che sta funzionando bene ... versione cambiamento nel vostro violino

0

Il ciclo digest funziona a almeno due volte da angularjs. Quindi, probabilmente il motivo per cui l'avviso appare due volte è il ciclo di digestione.

Ma altri hanno detto di cambiare versione e si otterrebbe una chiamata di avviso solo una volta. Ma se non si desidera cambiare la versione, c'è una soluzione a questo:

$scope.login = function() { 
    alert("Login is clicked"); 
    $scope.login = function(){ 
    return false; 
    } 
}; 

working demo

Questo metodo consente di chiamare la funzione solo una volta. Potrebbe essere utile per gli altri che vogliono interrompere il ciclo di digestione.

Problemi correlati