2014-11-14 4 views
5

Weiß jemand, wie man verhindert, dass das Ereignis zweimal ausgelöst wird? Ich habe versucht, eine boolesche Variable auf Controller-Bereichsebene zu verwenden, um zu sehen, ob das Ereignis bereits ausgelöst wurde, aber es hat nicht funktioniert. Es ist so, als ob das Ereignis auf zwei separate Threads feuert und die Variable immer falsch ist.Ionisches Plattform-Ereignis wird zweimal ausgelöst

Im folgenden Code wird das $ ionicPlatform.ready-Ereignis zweimal ausgelöst, aber ich kann nicht herausfinden warum. Ich verwende die aktuelle Version des Ionic Framework ionic-v1.0.0-beta.13.

angular.module('rsgApp.controllers', []) 
.controller('MapCtrl', ['$ionicPlatform', 
function ($ionicPlatform) { 
    var vm = this; 

    $ionicPlatform.ready(function() { 
     alert('device is ready'); 
    }); 

}]); 
+2

Dies kann passieren, weil Ihr Controller zweimal geladen wird. Überprüfen Sie Ihre HTML- und Routenkonfigurationen, um sicherzustellen, dass Sie eine einzige Deklaration des Controllers für eine bestimmte HTML-Datei haben. –

+0

Ich dachte der Controller wurde auch zweimal geladen, aber ich kann nicht herausfinden wo. Ich sehe nur, dass der Controller nur einmal geladen wird, aber das Ereignis zweimal Feuer – Que

+0

Bitte teilen Sie Ihre Routen und entsprechenden HTML, vorzugsweise in einem Plunker .. –

Antwort

4

Danke TechMa9iac Ich konnte dieses Problem lösen. In meiner Tab-Vorlage hatte ich ein "ng-Controller" -Attribut zu meinem Ion-Content-Tag hinzugefügt. Dies hat dazu geführt, dass das Ereignis $ ionicPlatform.ready zweimal ausgelöst wurde.