2016-03-29 39 views
1

Ich wollte nach $ viewContentLoaded fragen ... Ich baue eine Ionic-App und wollte $ ionicLoading implementieren, so dass vor dem Laden des Inhalts ein Ladesymbol angezeigt wird die Codezeile, die in meinem Controller ist:

$ionicLoading.show({ 
template: '<ion-spinner></ion-spinner>'+ 
     '</br></br><p>Loading...</p>', 
    animation: 'fade-in', 
    showBackdrop: true, 
    maxWidth: 300, 
    showDelay: 0 
    }); 

    $scope.$on('$viewContentLoaded', function() 
    { 
    $timeout(function() { 
     $ionicLoading.hide(); 
     }, 2000); 
    }); 

das funktioniert, weil ich den $ timeout verwendet, aber ich wollte den $ ionicLoading zu stoppen, wenn die Seite den Inhalt geladen wird.

Bitte helfen?

Antwort

1

Mit $timeout wird sichergestellt, dass ein neuer $ Digest-Zyklus direkt nach Ihrem Code ausgeführt wird. Haben Sie versucht, ohne Angabe einer Verzögerung (statt 2000)? (Standardverzögerung ist 0). Ich denke, es wird auch funktionieren.

Ansonsten würde ich empfehlen, Ionic Views' LifeCycle Events, wie $ionicView.enter zu verwenden, die für Ihre Notwendigkeit passend klingt.

+0

Ich denke, das ist der, den ich brauchte ... Danke, ich werde es versuchen –

+0

Bitte lassen Sie uns wissen, ob dies für Sie arbeitete :-). Die Lifecycle-Events von Ionic Views werden eindeutig zu wenig genutzt und ich schätze, es ist ein Schmerz für viele Entwickler! – VinceOPS

+0

Also habe ich es ausprobiert, aber es hat nicht funktioniert, weil ich mit meiner App ... eine Ng-Ansicht verwendet habe, also implementiert es den $ ionicView Code überhaupt nicht ... –

Verwandte Themen